Una excepción es un evento no deseado o inesperado que ocurre durante la ejecución de un programa, es decir, en tiempo de ejecución, que interrumpe el flujo normal de las instrucciones del programa. A veces, durante la ejecución del programa, el usuario puede enfrentar la posibilidad de que el programa se bloquee o muestre un evento inesperado durante su ejecución en tiempo de ejecución. Este evento no deseado se conoce como Excepción y generalmente da la indicación de que algo está mal en el código.
Ejemplo: para mostrar la ocurrencia de una excepción durante la operación de división por cero de la siguiente manera:
// C# program to illustrate the exception using System; class Geeks { // Main Method static void Main(string[] args) { // taking two integer value int A = 12; int B = 0; // divide by zero error int c = A / B; Console.Write("Value of C is " + c); } }
Error de tiempo de ejecución:
Excepción no controlada:
System.DivideByZeroException: se intentó dividir por cero.
en Geeks.Main (System.String[] args) <0x4068cd50 + 0x0000c> en:0
[ERROR] EXCEPCIÓN FATAL NO MANEJADA: System.DivideByZeroException: se intentó dividir por cero.
en Geeks.Main (System.String[] args) <0x4068cd50 + 0x0000c> en:0
Diferencia entre errores y excepciones
Errores:
- Los errores son problemas inesperados que pueden surgir durante la ejecución de un programa informático.
- Los errores no se pueden manejar.
- Todos los errores son excepciones.
Excepciones:
- Las excepciones son eventos inesperados que pueden surgir durante el tiempo de ejecución.
- Las excepciones se pueden manejar mediante mecanismos de prueba y captura.
- Todas las excepciones no son errores.
Jerarquía de excepciones
En C#, todas las excepciones se derivan de la clase base Exception , que se divide en dos ramas como ApplicationException y SystemException . SystemException es una clase base para todos los errores generados por CLR o código de programa. ApplicationException es una clase base para todas las excepciones relacionadas con la aplicación. Todas las clases de excepción se derivan directa o indirectamente de la clase Exception. En el caso de ApplicationException , el usuario puede crear sus propios tipos y clases de excepción. Pero SystemException contiene todos los tipos de excepción conocidos, como DivideByZeroException o NullReferenceException , etc.
Diferentes clases de excepción: hay diferentes tipos de excepciones que se pueden generar en el programa C#:
- Excepción Divide By Zero : Ocurre cuando el usuario intenta dividir por cero
- Excepciones de falta de memoria : ocurre cuando el programa intenta usar memoria excesiva
- Índice fuera de límite Excepción : acceder al elemento de array o índice que no está presente en él.
- Excepción de desbordamiento de pila : causada principalmente debido al proceso de recursión infinita
- Excepción de referencia nula : ocurre cuando el usuario intenta hacer referencia a un objeto que es de tipo NULL.
…..y muchos más.
Propiedades de la clase de excepción: la clase de excepción tiene muchas propiedades que ayudan al usuario a obtener información sobre la excepción durante la excepción.
- Datos: esta propiedad ayuda a obtener información sobre los datos arbitrarios que contiene la propiedad en los pares clave-valor.
- TargetSite: esta propiedad ayuda a obtener el nombre del método donde se lanzará la excepción.
- Mensaje: esta propiedad ayuda a proporcionar detalles sobre la causa principal de la aparición de la excepción.
- HelpLink: esta propiedad ayuda a mantener la URL para una excepción en particular.
- StackTrace: esta propiedad ayuda a proporcionar información sobre dónde ocurrió el error.
- InnerException: esta propiedad ayuda a proporcionar información sobre la serie de excepciones que podrían haber ocurrido.
Publicación traducida automáticamente
Artículo escrito por keshav_786 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA