Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones...

26
Manejo de errores y excepciones

Transcript of Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones...

Page 1: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

Manejo de errores y excepciones

Page 2: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

Tipos de errores

Uso del depurador

Manejo de excepciones

Descripción

Uso de Visual Studio .NET

Acceso A datos

Escribir Código

Crear Interfaz

Depurare Implantar

Page 3: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

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?

Page 4: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

¿Qué son los errores de sintaxis?

Visualizar errores en la Lista de tareas:

Error de sintaxisError de sintaxis

Error de sintaxisError de sintaxis

Page 5: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

¿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

Speed = Miles/Hours

' If Hours = 0, the statement is syntactically correct, but the division is an invalid operation

Page 6: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

¿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

Dim x As Integer = 2

Do While x < 10

' Code statements

x -= 1

Loop

Page 7: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

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

Page 8: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

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

Page 9: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

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.

Page 10: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

¿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

Page 11: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

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ónPuntos de

interrupción

Page 12: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

Cómo modificar puntos de interrupción

Propiedad CondiciónPropiedad Condición

PropiedadRecuento de visitas

PropiedadRecuento de visitas

Page 13: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

La barra de herramientas Depurar

IniciarIniciar

Interrumpir todos

Interrumpir todos

Detener depuración

Detener depuración

ReiniciarReiniciar

Mostrar la instrucción siguiente

Mostrar la instrucción siguiente

Paso a paso por

instrucciones

Paso a paso por

instrucciones

Paso a paso para salir

Paso a paso para salir

Paso a paso por procedimientos Paso a paso por procedimientos

Puntos de interrupción

Puntos de interrupción

Presentación Hexadecimal

Presentación Hexadecimal

Page 14: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

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

Page 15: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

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

Page 16: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

Cómo utilizar las ventanas de depuración

VentanaVentanaVentanaVentana Utilizar esta ventana para… Utilizar esta ventana para… Utilizar esta ventana para… Utilizar esta ventana para…

AutomáticoAutomáticoVisualizar variables en la instrucción actual y tres instrucciones anteriores y posteriores a la instrucción actual

Visualizar variables en la instrucción actual y tres instrucciones anteriores y posteriores a la instrucción actual

Pila dellamadas

Pila dellamadas

Ver el histórico de llamadas de la línea de código que se está depurando

Ver el histórico de llamadas de la línea de código que se está depurando

Variableslocales

Variableslocales Visualizar y modificar variables locales Visualizar y modificar variables locales

InspecciónInspección

Crear una lista personalizada de variables y expresiones a monitorizar

Ver y manipular cualquier expresión a inspeccionar

Crear una lista personalizada de variables y expresiones a monitorizar

Ver y manipular cualquier expresión a inspeccionar

Page 17: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

Cómo utilizar la Ventana de comandos

Utilice la Ventana de comandos para: Invocar comandos (modo Comando) Depurar y evaluar expresiones (modo Inmediato)

TareaTareaTareaTarea SoluciónSoluciónSoluciónSolución EjemploEjemploEjemploEjemplo

Evaluar expresionesEvaluar expresiones Encabezar la expresión con un signo de interrogación (?)

Encabezar la expresión con un signo de interrogación (?) ?miVariable ?miVariable

Cambiar a modo Inmediatodesde modo Comando

Cambiar a modo Inmediatodesde modo Comando

Escribir immed en la ventana, sin el signo mayor que (>)

Escribir immed en la ventana, sin el signo mayor que (>) immedimmed

Regresar a modo Comando desde modo Inmediato

Regresar a modo Comando desde modo Inmediato Escribir >cmd en la ventanaEscribir >cmd en la ventana >cmd>cmd

Entrar temporalmente en modo Comando desde modo Inmediato

Entrar temporalmente en modo Comando desde modo Inmediato

Escribir el comando, precedido del signo mayor que (>)

Escribir el comando, precedido del signo mayor que (>)

>alias >alias

Page 18: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

Práctica: Código de depuración

Examinar código en el controlador de eventos Click

Generar y ejecutar la aplicación

Proponer un modo de solucionar el error

Utilizar herramientas de depuración para localizar el error lógico

Page 19: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

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

Page 20: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

La clase Exception

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

IOExceptionIOException

ExceptionException

OutOfMemoryExceptionOutOfMemoryException

ApplicationExceptionApplicationException

SystemExceptionSystemException

FileNotFoundExceptionFileNotFoundException

El .NET Framework proporciona el siguiente modelo de objeto de excepciones:

Page 21: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

¿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

Page 22: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

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

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 programaLógica de programa

Gestión de excepcionesGestión de excepciones

Page 23: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

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

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

Page 24: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

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

If (day < 1) Or (day > 365) Then

Throw New ArgumentOutOfRangeException( )

Else

...

End If

Page 25: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

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.

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 habitualesEjemplo: los métodos de lectura de E/S de archivos

no lanzan una excepción de fín de archivo

Devolver un valor para los casos de errores habitualesEjemplo: 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 generalesOrganizar los bloques Catch desde específicos hasta generales

Page 26: Manejo de errores y excepciones. Tipos de errores Uso del depurador Manejo de excepciones Descripción Uso de Visual Studio.NET Acceso A datos Escribir.

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