Saltar al contenido principal
Publicado el

Excepciones en C#

Compartir:

Introducción

Al programar, a menudo nos encontramos con situaciones inesperadas que pueden interrumpir la ejecución normal de nuestro código. Estas interrupciones se conocen comúnmente como excepciones. En C#, el manejo de excepciones es fundamental para crear software resiliente y robusto.

¿Qué son las Excepciones?

Una excepción en C# es un evento que surge cuando ocurre una condición anormal durante la ejecución del programa. En la práctica, representa un error que puede deberse a diversas causas, como fallos de IO, errores lógicos o problemas de acceso a recursos.

Cómo Manejar Excepciones

Bloques try-catch

El bloque try contiene instrucciones que pueden causar una excepción, mientras que el bloque catch contiene el código que se ejecuta en respuesta a una excepción.

Bloque finally

El bloque finally siempre se ejecuta después de los bloques try y catch, independientemente de si ocurrió una excepción o no. Normalmente se utiliza para tareas de limpieza, como cerrar conexiones o archivos.

using System;

namespace Base {
  class Excepciones {
    public void Run() {
      int[] numeros = new int[5] {
        1, 2, 3, 4, 5
      };

      try {
        Console.WriteLine($"Contenido del elemento: {numeros[4]}");
      }
      catch (Exception excepcion) {
        Console.WriteLine("¡Ocurrió una excepción!");
        Console.WriteLine(excepcion);
      }
      finally {
        Console.WriteLine("El bloque finally siempre se ejecuta.");
      }
    }
  }
}

Excepciones Comunes en C#

  • NullReferenceException: Se lanza cuando se intenta acceder a un miembro de un objeto nulo.
  • IndexOutOfRangeException: Ocurre al intentar acceder a un índice fuera de los límites de un array.
  • InvalidCastException: Surge al intentar convertir un tipo en otro incompatible.

Conclusión

Entender y manejar correctamente las excepciones en C# es esencial para crear aplicaciones confiables y robustas. Al adoptar buenas prácticas de manejo de excepciones, garantizamos que nuestros programas puedan gestionar los errores de forma elegante e informar al usuario de manera adecuada.

Happy coding!