Capturando excepciones.

Como decíamos en el anterior post, tenemos un superinformático en el PC, también conocido como Framewoks y al que cariñosamente llamamos Marcos. También, decíamos que era capaz de saber si lo que le pedíamos en el código era lógico o imposible de realizar. Bueno pues hay una forma de establecer un diálogo con Marcos, de manera que nos informe de errores para buscar un camino alternativo y que la aplicación siga funcionando.

La estructura es la siguiente:

Try
'Aqui el codigo que queremos que supervise
Catch ex As Exception
'Aquí el codigo alternativo por si falla el anterior
End Try

Cuando Marcos  lee la palabra Try sabe que tiene que estar atento, en caso de producirse un error: error de comunicación, salirse de los índices de una matriz, etc; abandona el código que está leyendo, guarda el nombre del error en la variable ex y continúa leyendo el código  situado debajo de Catch.

Trabajando con consola. Un ejemplo de excepción.

Este tipo de aplicaciones están muy bien para hacer pruebas puesto que nos permite olvidarnos de la interface gráfica.

Crea una nueva aplicación y haz doble click sobre aplicación de consola. Copia y pega el siguiente código. Y dale al play. Cuando te pide un numero prueba a introducir una letra.

1: 'Pedimos un numero'
Console.WriteLine("Introduce un numero?")
'Inicializamos una variable de tipo integer'
Dim Respuesta As Integer
Try
'Cogemos el valor introducido y lo volcamos a la variable Respuesta'
Respuesta = Console.ReadLine()
'Le damos animos al usario por que sabe lo que es un numero'
Console.WriteLine("Bien, bien")
Catch ex As Exception
'Recogemos la excepción en caso de que el usuario sea un negao'
Console.WriteLine("Que nohhhhh. ¡Un numero!")
End Try
Console.WriteLine("Escribe 1 para continuar")
'vemos lo que ha escrito si es uno se va a la etiqueta 1: al principio del programa'
If Console.ReadLine = 1 Then
GoTo 1
Else
'en caso de no ser 1 salimos del programa'
Console.WriteLine("Pulsa intro para salir")
Console.Read()
End If

Depurando.

Los BreakPoint.

El IDE tiene algunas funciones para poder depurar nuestra aplicación.

Si hacemos click en el área gris a la izquierda del código, aparece un punto rojo. Cuando se ejecute la aplicación se detendrá al llegar a ese punto. Esto nos permite conocer el valor de las variables en ese instante. O por ejemplo saber si el programa entró en esa línea.

Si pasamos el ratón por una variable nos mostrará su valor.

Tenemos varias ventanas para saber más. Por defecto se encuentran en la parte más inferior del IDE.

Si el IDE no muestra estas ventanas podemos activarlas desde la barra de herramientas.

Para que el programa se detenga donde se ha colocado el breakpoint, tenemos que haber introducido un valor no válido para una variable integer. Si introducimos un valor válido Marcos no leerá esa línea de código.

Si queremos que la aplicación no vuelva a parar en el punto hacemos click en el BreakPoint para borrarlo.

También podemos mover el punto donde está detenido el programa, por ejemplo para saltar o volver a cargar.

Con este código:

Debug.WriteLine(“El valor de la variable es “ & Valor)

podemos escribir en la ventana inmediato.