Errores En Visual Basic
Excepción y tipos de errores
Cuando hay errores en el desarrollo de una aplicación se genera un objeto excepción que informa del error.
Por muy experto que alguien sea en programación, siempre se cometen errores en la escritura de código o en cualquier otra de las etapas de desarrollo de una aplicación; los errores pueden ser de sintaxis, de ejecución y lógicos.
Errores de sintaxis
Los Errores de sintaxis son los que se presentan durante la escritura de código y como ya se mencionó antes, en este libro, visual Basic nos proporciona un buen asistente que nos informa inmediatamente cuando un error se ha producido, subrayando en azul la parte de código erróneo. Además que nos muestra una pestaña que al abrirla nos da ideas o alternativas de la solución para eliminar ese error, aunque no siempre allí encontraremos la solución correcta.
A medida que se adquiere experiencia en programación, se van identificando con más facilidad los errores que muchas veces consisten en un pequeño detalle como ser un espacio, una coma, o la falta de un paréntesis que nos genera grandes consecuencias en el programa por que no se produce la ejecución.
Errores en Tiempo de ejecución
Son errores que aparecen una vez que se corre o ejecuta el programa por que
El error no se identificó en el tiempo de escritura de código o depuración o prueba del programa. Es decir no se detectaron errores en la etapade desarrollo de la aplicación.
La ejecución del programa comienza pero inesperadamente se detiene. Un ejemplo puede ser que se tiene un programa con varias opciones para desplegar imágenes en un PictureBox; Todo va bien pero de pronto al elegir una opción el programa se detiene o sea que se produjo una excepción. Lo anterior podría ser por ejemplo por que la imagen no existe.
Errores Lógicos.
Los errores lógicos son los más difícil es de identificar e investigar donde se originan. Son los que se producen cuando el programa está en funcionamiento.
En este tipo de errores aparentemente todo está bien pero de pronto ante una acción del usuario el programa hace cosas inesperadas.
Hay muchos software con errores lógicos que se han identificado hasta que la aplicación ha sido distribuida. A propósito, debido a esto, muchas aplicaciones que ya están a la venta están a un precio de oferta por que ya se produjeron masivamente y después descubrieron los errores lógicos. Por ejemplo el autor de este curso, cuando intentaba aprender a tocar piano, compró un Software para aprender piano que venía en un DVD, se sorprendió por lo poco que valía (5 dólares) todo iba bien hasta que llegó a una de las lecciones en donde no concordaba lo que la aplicación debía generar con lo que realmente presentaba, se tuvo que detener el curso por que el software tenía errores lógicos y no se podía continuar.
Identificando errores al depurar o probar el programa.
Como ya se describió antes, Visual Basic dispone de un excelente asistente para detección y corrección de errores. Identificándolos inmediatamente.
Otras veces el error se detecta en el proceso de Depuración y otros en el tiempo de ejecución.
Pero a veces pasan todas esta etapas y ni el asistente ni el programador se dan cuenta que la aplicación tiene un error sino que son detectadas una vez que el programa se ha distribuido y está en poder del usuario.
Por eso muchas empresas hacen aplicaciones en versión Beta o de prueba que permite poner en manos de usuarios una versión inicial de prueba de un programa para que el usuario lo ejecute, y pueda reportar errores que se pueden corregir antes de producir el producto de manera masiva.
A veces el desarrollador no detecta errores, especialmente si son del tipo Lógicos por que usa la aplicación de manera apropiada por que el o ella es el que más conoce como se maneja el programa; pero el usuario hace cosas inesperadas que pueden generar error.
Por lo anterior es una buena idea que usted al ejecutar una aplicación se comporte como un usuario y trate de hacer cosas que usualmente no haría como por ejemplo, si le piden que ingrese en un TextBox un número antes de dar clic en un botón puede premeditadamente no ingresar nada y dar clic en el botón.
En conclusión compórtese como un usuario que desconoce como manejar su aplicación para aumentar la probabilidad de detectar errores.
Instrucción Try…Catch….End Try
Permite controlar errores en un programa mientras el código esta en ejecución.
Para entender mejor esta instrucción observe el siguiente código de un programa en donde al dar clic en Button1 mostrará en el PictureBox1 una imagen que esta guardada en una USB.
Si no se coloca la instrucción Try…Catch…End Try, al dar clic en el Button y no está la USB conectada entonces se mostrará la siguiente ventana de error.
Pero si inserta la instrucción Try…Catch …End Try tal y como está planteada en el siguiente código, se mostrará un mensaje, orientando sobre que debemos hacer para corregir el presente error.
Try
Entre Try y Catch debe ir todo el código para ejecutar el programa.
Catch
Entre Catch y End Try debe ir el mensaje que se enviará para informardel error y sugerir una solución.
End Try
Finaliza la instrucción.
En la siguiente imagen se puede ver y leer el mensaje que aparece si se da clic en el botón Ver Imagen sin haber conectado la USB donde se encuentra la misma.
Una vez que el usuario inserta la USB conteniendo la imagen entonces el programa se ejecutara.
Ejercicio:
- Cree un proyecto nuevo en Visual Basic y asígnese el nombre Try Catch.
- En el formulario agregue 3 TextBox y un Button.
En el editor de código y entre la línea Private Sub…y End Sub escriba lo siguiente:
Dim A As Integer = TextBox1.Text
Dim B As Integer = TextBox2.Text
Dim C = A - B
TextBox3.Text = C
Con este código se restará del valor ingresado en el TextBox1 el valor ingresado en el TextBox2 y se mostrará en el TextBox3
El código quedará así:
Ahora ejecute el programa ingresando un número en el TextBox superior y otro en el TextBox2 medio y luego dé clic en el botón.
Funciona muy bien, pero que pasa si no ingresa un número, si no que no ingresa nada en una casilla o pone algo diferente a un número y le da ejecutar.
Le generará error.
Y pueda ser que no sepa que hacer en este caso….entonces….
Es cuando se usa Try….Catch…End Try
Dé clic en el botón de Stop o detener y vuelva al editor de código y haga lo siguiente:
- Escriba Try antes del código escrito.
- Escriba Catch después del código.
- Escriba un mensaje dando instrucciones entre Catch y End Try.
El Código queda así:
- Ejecute el programa y vea lo que sucede…
Como se ingresó un valor diferente a un número se envía un mensaje instructivo.
Cierre la aplicación guardando todo los archivos del proyecto.