Soy un convencido de que muchos de los malentendidos que existen en cuanto al manejo de excepciones en VB.Net y C# es por culpa de los malos ejemplos que siempre ha tenido el MSDN. Con solo invertir un par de segundos en google uno puede encontrar verdaderas aberraciones.. A modo de ejemplo solo pondré dos links y las capturas:
http://msdn.microsoft.com/en-us/library/system.net.dns.resolve(v=vs.110).aspx
Si Bien es cierto que los ejemplos han mejorado muchísimo, porque años antes eran un desastre, todavía siguen existiendo demasiados de estos ejemplos, ejemplos que son tomados por muchos desarrolladores como “bunas prácticas” ya que provienen de un sitio de la más alta confianza.
Otro ejemplo: http://msdn.microsoft.com/en-us/library/system.net.sockets.tcpclient(v=vs.110).aspx. Hay tantas cosas mal en este que da para pensar si estos ejemplos ayudan a los programadores o si por el contrario, los perjudica.
Cierto es que los ejemplos de código de MSDN tienen desde hace años muchísimo que mejorar. Ver unos buenos ejemplos de buenas prácticas es complicado.
Como ejemplos de código, me gusta la iniciativa All-In-One, http://1code.codeplex.com/
Saludos.
@Kiquenet, amén! Por eso es que publiqué una entrada con un video explicando cómo debe ser ese ejemplo. En cuanto al enlace, gracias, no lo conocía pero lo voy a estar revisando en breve. Un abrazo.