Qué hacer cuando algo sale mal: control de errores
Actualización: noviembre 2007
En esta lección, aprenderá a crear código de control de errores básico para los programas.
Incluso los programas mejor diseñados a veces encuentran errores. Algunos errores son defectos en el código que se pueden encontrar y corregir. Otros errores son una consecuencia natural del programa; por ejemplo, el programa puede intentar abrir un archivo que ya está en uso. En casos así, los errores se pueden predecir, pero no evitar. Como desarrollador, es su trabajo predecir estos errores y ayudar a que el programa los solucione.
Errores en tiempo de ejecución
Un error que se produce mientras un programa se está ejecutando se llama error en tiempo de ejecución. Los errores en tiempo de ejecución se producen cuando un programa trata de hacer algo para lo cual no fue diseñado. Por ejemplo, si el programa intenta realizar una operación no válida, como convertir una cadena no numérica en un valor numérico, se producirá un error en tiempo de ejecución.
Cuando se produce un error en tiempo de ejecución, el programa produce una excepción, que soluciona los errores buscando código dentro del programa para tratar el error. Si no se encuentra tal código, se detiene el programa y se tiene que reiniciar. Dado que esto puede conducir a la pérdida de datos, es prudente crear el código de control de errores dondequiera que se tenga previsto que se produzcan errores.
El bloque Try...Catch...Finally
Se puede utilizar el bloque Try...Catch...Finally para controlar errores en tiempo de ejecución en el código. Puede utilizar Try para un segmento de código; si ese código produce una excepción, salta al bloque Catch y se ejecuta el código del bloque Catch. Después de que ese código ha finalizado, se ejecuta cualquier código en el bloque Finally. La instrucción End Try cierra el bloque Try...Catch...Finally completo. En el ejemplo siguiente se ilustra cómo se utiliza cada bloque.
Try
' Code here attempts to do something.
Catch
' If an error occurs, code here will run.
Finally
' Code in this block will always run.
End Try
Primero, se ejecuta el código del bloque Try. Si se ejecuta sin error, el programa omite el bloque Catch y ejecuta el código del bloque Finally. Si se produce un error en el bloque Try, la ejecución salta inmediatamente al bloque Catch y se ejecuta el código que se encuentra allí; luego se ejecuta el código del bloque Finally.
Inténtelo
Para utilizar el bloque Try...Catch
En el menú Archivo, elija Nuevo proyecto.
En el cuadro de diálogo Nuevo proyecto, en el panel Plantillas, haga clic en Aplicación para Windows.
En el cuadro Nombre, escriba TryCatch y haga clic en Aceptar.
Se abre un nuevo proyecto de formularios Windows Forms.
En el Cuadro de herramientas, arrastre un control TextBox y un control Button al formulario.
Haga doble clic en Button para abrir el Editor de código.
En el controlador de eventos Button1_Click, escriba el siguiente código:
Try Dim aNumber As Double = CDbl(Textbox1.Text) MsgBox("You entered the number " & aNumber) Catch MsgBox("Please enter a number.") Finally MsgBox("Why not try it again?") End Try
Presione F5 para ejecutar el programa.
En el cuadro de texto, escriba un valor numérico y haga clic en el botón. Aparece un cuadro de mensaje que muestra el número que ha escrito, seguido por una invitación para volver a intentarlo.
A continuación, escriba un valor no numérico en el cuadro de texto, como una palabra y haga clic en el botón. Esta vez, cuando el programa intente convertir el texto del cuadro de texto en un número, no podrá hacerlo y se producirá un error. En lugar de finalizar el código en el bloque Try, se ejecuta el bloque Catch y aparece un cuadro de mensaje solicitando que se escriba un número. Se ejecuta el bloque Finally y se le invita a intentarlo de nuevo.
Pasos siguientes
En esta lección, aprendió a utilizar los bloques Try...Catch...Finally para crear una estructura básica de control de errores. Esta lección finaliza la introducción al lenguaje Visual Basic. En la siguiente serie de lecciones, aprenderá a crear la interfaz de usuario para los programas.
Próxima lección: Crear la apariencia visual de un programa: introducción a los formularios Windows Forms
Vea también
Tareas
Hacer que un programa elija entre dos posibilidades: la instrucción If...Then
Conozca sus errores: tres tipos de errores de programación
Referencia
Instrucción Try...Catch...Finally (Visual Basic)