Examinar las excepciones y cómo se usan las excepciones
- 6 minutos
Anteriormente en este módulo aprendió que los errores en tiempo de ejecución en C# se denominan excepciones y que necesita "detectarlos" antes de bloquear la aplicación. ¿En serio? Detectar excepciones antes de que puedan bloquear la aplicación suena más como un videojuego que escribir una aplicación. ¿Qué significa exactamente detectar una excepción? Para responder a esa pregunta, debe empezar por echar un vistazo más de cerca a lo que es una excepción.
¿Qué son las excepciones?
Esta es una definición más formal que describe qué es una excepción y cómo se usa una excepción en una aplicación de C#:
En C#, los errores del programa en tiempo de ejecución se propagan a través del programa mediante un mecanismo denominado excepciones. Las excepciones las inicia el código que encuentra un error y las detecta el código que puede corregir dicho error. El entorno de ejecución .NET o el código de un programa pueden producir excepciones. Las excepciones están representadas por clases derivadas de Excepciones. Cada clase identifica el tipo de excepción y contiene propiedades que tienen los detalles sobre la excepción.
Importante
Este entrenamiento no requiere una comprensión profunda de las clases de .NET. No se preocupe si esta definición es un poco confusa. Puede usar excepciones en el código sin un conocimiento profundo de las clases.
La documentación de Microsoft sobre las excepciones entra en gran detalle. Sin embargo, esta definición proporciona la información que necesita en este momento. En concreto, debe comprender dos cosas:
- Debe comprender qué son las excepciones.
- Debe comprender cómo usar excepciones en las aplicaciones.
Puede considerar una excepción como una variable que tiene funcionalidades adicionales. Puede hacer el mismo tipo de cosas con excepciones que se hacen con variables, por ejemplo:
- Puede crear distintos tipos de excepciones.
- Puede acceder al contenido de una excepción.
¿Qué significa "iniciar" y "detectar" una excepción?
Los términos "throw" y "catch" se pueden explicar mediante la evaluación de la definición de una excepción.
La segunda frase de la definición indica "El código inicia excepciones que encuentra un error y se detecta mediante código que puede corregir el error". La primera parte de esta frase indica que el entorno de ejecución de .NET crea excepciones cuando se produce un error en el código. La segunda parte de la oración indica que puede escribir código para detectar una excepción que se ha producido. Además, el código que detecta la excepción se puede usar para completar una acción correctiva, con la esperanza de mitigar la situación causada por el código que produjo el error. En otras palabras, puede escribir código que proteja la aplicación cuando se produzca un error.
Después de evaluar esa segunda frase de la definición, conoce lo siguiente:
- Se crea una excepción en tiempo de ejecución cuando el código genera un error.
- La excepción se puede tratar como una variable que tiene algunas funcionalidades adicionales.
- Puede escribir código que acceda a la excepción y tome medidas correctivas.
La parte restante de la definición indica que si el entorno de ejecución de .NET detecta un error, genera la excepción. La excepción que se genera contiene información acerca del error que se ha producido. El código puede detectar una excepción y corregir el problema mediante la información almacenada en la excepción.
Resumen
Estos son algunos de los aspectos más importantes que debe recordar de esta unidad:
- Las excepciones se usan en C# para propagar errores en tiempo de ejecución y se representan mediante clases derivadas de la clase
Exception
. - Las excepciones las inicia el código que encuentra un error y las detecta el código que puede corregir dicho error.
- Cuando se detecta una excepción, el código puede acceder a su contenido y tomar medidas correctivas para mitigar el error.
- El entorno de ejecución de .NET genera excepciones cuando detecta un error y la excepción contiene información sobre el tipo de error que se produjo.