Manejo de errores y excepciones
Descripción Tipos de errores Uso del depurador Manejo de excepciones Uso de Visual Studio .NET Acceso A datos Escribir Código Crear Interfaz Tipos de errores Uso del depurador Manejo de excepciones Depurar e Implantar
Lección: Tipos de errores ¿Qué son los errores de sintaxis? ¿Que son los errores de tiempo de ejecución? ¿Que son los errores de lógica?
¿Qué son los errores de sintaxis? Error de sintaxis Error de sintaxis Visualizar errores en la Lista de tareas:
¿Que son los errores de tiempo de ejecución? Speed = Miles/Hours ' If Hours = 0, the statement is syntactically correct, but the division is an invalid operation
¿Que son los errores de lógica? Definición: Un error que hace que una aplicación produzca resultados incorrectos Puede no generar un mensaje de error Se encuentra probando la aplicación y analizando los resultados Dim x As Integer = 2 Do While x < 10 ' Code statements x -= 1 Loop
Demostración: Tipos de errores En esta demostración, estudiaremos los siguientes tipos de errores, y veremos un ejemplo de cada error en el entorno de Visual Studio .NET : Error de sintaxis Error de tiempo de ejecución Error de lógica
Lección: Uso del depurador ¿Qué es el modo de interrupción? Cómo utilizar puntos de interrupción Cómo modificar puntos de interrupción La barra de herramientas Depuración Recorrer paso a paso el código Cómo utilizar las ventanas de depuración Cómo utilizar la Ventana de comandos
Demostración: Cómo depurar una aplicación En esta demostración, aprenderemos cómo depurar una aplicación utilizando puntos de interrupción, recorrer el código línea por línea y utilizando la ventana Inspección para examinar variables en el código.
¿Qué es el modo de interrupción? Detiene la operación de una aplicación En modo de interrupción, podemos: Recorrer nuestro código línea por línea Determinar los procedimientos activos que se han invocado Observar los valores de variables, propiedades y expresiones Utilizar las ventanas de depuración para modificar valores de variables y propiedades Cambiar el flujo del programa Ejecutar instrucciones de código
Cómo utilizar puntos de interrupción Un punto de interrupción es un marcador en nuestro código que hace que Visual Basic detenga la ejecución del código en una línea específica No podemos colocar puntos de interrupción en código no ejecutable Puntos de interrupción
Cómo modificar puntos de interrupción Propiedad Condición Propiedad Recuento de visitas
La barra de herramientas Depurar Iniciar Detener depuración Mostrar la instrucción siguiente Paso a paso por procedimientos Presentación Hexadecimal Interrumpir todos Reiniciar Paso a paso por instrucciones Paso a paso para salir Puntos de interrupción
Cómo recorrer el código Paso a paso por instrucciones o por procedimientos: ejecuta la siguiente línea de código; si la línea siguiente contiene una invocación a un procedimiento: Paso a paso por instrucciones: únicamente ejecuta la invocación, y se detiene en la primera línea de código dentro del procedimiento Paso a paso por procedimientos: ejecuta todo el procedimiento, y se detiene en la primera línea de código fuera del procedimiento Paso a paso para salir: reanuda la ejecución hasta que regresa el procedimiento y, a continuación, se interrumpe en el punto de retorno del procedimiento de llamada Ejecutar hasta el cursor: el depurador ejecuta nuestra aplicación hasta llegar al punto de inserción que hemos establecido
Demostración: Cómo utilizar las ventanas de depuración En esta demostración, aprenderemos a depurar una aplicación utilizando: Las ventanas Automático, Variables locales, Inspección y Comandos Puntos de interrupción El comando Ejecutar hasta el cursor
Cómo utilizar las ventanas de depuración Utilizar esta ventana para… Automático Visualizar variables en la instrucción actual y tres instrucciones anteriores y posteriores a la instrucción actual Pila de llamadas Ver el histórico de llamadas de la línea de código que se está depurando Variables locales Visualizar y modificar variables locales Inspección Crear una lista personalizada de variables y expresiones a monitorizar Ver y manipular cualquier expresión a inspeccionar
Cómo utilizar la Ventana de comandos Utilice la Ventana de comandos para: Invocar comandos (modo Comando) Depurar y evaluar expresiones (modo Inmediato) Tarea Solución Ejemplo Evaluar expresiones Encabezar la expresión con un signo de interrogación (?) ?miVariable Cambiar a modo Inmediato desde modo Comando Escribir immed en la ventana, sin el signo mayor que (>) immed Regresar a modo Comando desde modo Inmediato Escribir >cmd en la ventana >cmd Entrar temporalmente en modo Comando desde modo Inmediato Escribir el comando, precedido del signo mayor que (>) >alias
Práctica: Código de depuración Examinar código en el controlador de eventos Click Generar y ejecutar la aplicación Utilizar herramientas de depuración para localizar el error lógico Proponer un modo de solucionar el error
Lección: Gestión de excepciones La clase Exception ¿Qué es la gestión estructurada de excepciones? Cómo utilizar la instrucción Try…Catch Cómo utilizar el bloque Finally Cómo lanzar excepciones Directrices para el uso de la gestión estructurada de excepciones
OutOfMemoryException ApplicationException FileNotFoundException La clase Exception El .NET Framework proporciona el siguiente modelo de objeto de excepciones: IOException Exception OutOfMemoryException ApplicationException SystemException FileNotFoundException Las clases Exception permiten recuperar información sobre cualquier excepción que encontremos Las propiedades de la clase base Exception permiten analizar excepciones Principales propiedades: StackTrace, Message, HelpLink, Source
¿Qué es la gestión estructurada de excepciones? Detecta y responde a errores mientras se ejecuta una aplicación Utiliza Try…Catch…Finally para encapsular y proteger bloques de código que podrían provocar errores Cada bloque tiene uno o más controladores asociados Cada controlador especifica alguna forma de condición de filtro en el tipo de excepción que controla Ventajas: Permite la separación entre la lógica y el código de gestión de errores Facilita la lectura, depuración y mantenimiento del código
Cómo utilizar la instrucción Try…Catch Poner el código que podría lanzar excepciones en un bloque Try Gestionar las excepciones en otro bloque Catch Try fs = New FileStream("data.txt", _ FileMode.Open) Catch ex As FileNotFoundException MessageBox.Show("File not found") Catch ex As Exception MessageBox.Show(ex.Message) End Try Lógica de programa Gestión de excepciones
Cómo utilizar el bloque Finally Sección opcional; si se incluye, se ejecuta siempre Colocar código de limpieza, como el utilizado para cerrar archivos, en el bloque Finally Try fs = New FileStream("data.txt", FileMode.Open) Catch ex As FileNotFoundException MessageBox.Show("Data File Missing") Catch ex As Exception MessageBox.Show(ex.Message) Finally If Not (fs Is Nothing) Then fs.Close( ) End Try
Cómo lanzar excepciones Utilizar la instrucción Throw para crear una excepción que podamos controlar con el código de la gestión estructurada de excepciones If (day < 1) Or (day > 365) Then Throw New ArgumentOutOfRangeException( ) Else ... End If
Directrices para el uso de la gestión estructurada de excepciones No utilizar la gestión estructurada de excepciones para errores que se produzcan de modo rutinario. Utilizar otros bloques de código para abordar estos errores. If…End If, etc. Devolver un valor para los casos de errores habituales Ejemplo: los métodos de lectura de E/S de archivos no lanzan una excepción de fín de archivo Organizar los bloques Catch desde específicos hasta generales
Demostración: Uso de la gestión estructurada de excepciones En esta demostración, aprenderemos cómo implementar la gestión estructurada de excepciones en nuestro código