Manejo de Excepciones en vb.net 2005 (Try-Catch)

El manejo de excepciones en visual basic.net ha variado un poco al respecto de cómo se solía hacer en visual basic 6.0 que era de esta manera:

Module Module1
Sub Main()
'opción de uso de on error
On Error Resume Next
'opcion de uso de on error a una etiqueta llamada datos
On Error GoTo Datos

Datos:

End Sub

End Module

Más sin embargo en vb.net se hace la recomendación de no usar esta opción que tenía Visual Basic, puesto que se ha sustituido por una opción un tanto más robusta y conocida en otros lenguajes también llamada €œTry-Catch€.
En este ejemplo se esta capturando la excepción y enviándola a una variable de tipo exeption

Module Module1

Sub Main()
Try
'Bloque try
Catch ex As Exception
Console.Write(ex)
'Console.Write(ex.InnerException) para una captura más
'amplia de la excepción
'para winforms,MsgBox(ex)
End Try
End Sub

End Module

Este ejemplo es una forma de usar el método €œTry-catch€, sin captura de exepción, pero no es aconsejado puesto que si hay algún error pasa de largo y no avisa de nada.


Module Module1

Sub Main()
Try
'Bloque try
Catch
End Try
End Sub

End Module

El funcionamiento de esta función es básicamente sí ocurre algún error dentro del bloque Try, será campurado y puesto en una variable de tipo Exeption, tal como se muestra en el primer ejemplo.
De esta manera podemos tener un buen manejo de nuestros errores, tambien podemos manejar los errores de una manera un tanto más avanzada por ejemplo:


Module Module1

Sub Main()
Dim VarUno, VarDos, Restultado As Integer
Console.Write("ingreso un numero")
VarUno = CInt(Console.ReadLine())
Console.Write("ingreso el segundo")
VarDos = CInt(Console.ReadLine())
Restultado = CInt(VarUno / VarDos)
Try
Catch ex As InvalidCastException
'captura error en conversión de tipos
Console.Write("ingrese un numero correcto")
Catch ex As Exception When VarUno = 0
'caputa de exepcion explícita sobre una variable
'con determinado contenido
Console.Write("Ingrese un valor distinto a 0")
Catch ex As Exception
Console.Write(ex)
'para winforms,MsgBox(ex)
Finally
' esta parte es para  finalizar nuestro
' nuestro proceso y si quiseiramos algún
' mensaje también lo podemos moner aqui
Console.Write("Fin de la transacción")
End Try
End Sub

End Module

Como se muestra en el ejemplo la captura de las exepciones puede ser manejada a un nivel en el cual nosotros podemos hacer de el manejo de expciones algo totalmente manejable, es recomendable tal como está en el ejemplo primero coloquemos las exepciones específicas para depués dejar paso a una expeción genérica en la cual el error se mostrará de una manera un poco menos comprensible para el usuario.

2 Responses to Manejo de Excepciones en vb.net 2005 (Try-Catch)

  1. [...] Indice del manual 1. Configuración 2. Creación de una solución 3. Declaración de Variables 4. Declaración de Constantes 5. Creación de enumeraciones. 6. Declaración de Array’s. 7. Declaración de Clases No.1. 8. Declaración de Clases No.2. 9. Declaración de Estructuras 10. Manejo de excepciones Siguiente paso son las excepciones… [...]

  2. vicho says:

    la unica diferencia para windows form es

    con la ultima instrucción :

    Console.Write(ex) en winforms seria:

    Console.MsgBox(ex)

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>