C# | Excepción

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.

ExceptionClassHierarchy

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *