Saltar al contenido
Portada » ¿Cómo lanzar excepciones personalizadas en C#?

¿Cómo lanzar excepciones personalizadas en C#?

En el desarrollo de aplicaciones en C#, es común encontrar situaciones donde las excepciones estándar no son suficientes para manejar errores específicos de la lógica de negocio. En estos casos, crear y lanzar excepciones personalizadas es una práctica recomendada para mantener el código claro y manejable. Este artículo te mostrará cómo crear y lanzar excepciones personalizadas en C#.

Creando una Excepción Personalizada

Para crear una excepción personalizada en C#, debes derivar una nueva clase de la clase base Exception. A continuación, se muestra un ejemplo de cómo hacerlo:

 
using System;

public class MiExcepcionPersonalizada : Exception
{
    public MiExcepcionPersonalizada()
    {
    }

    public MiExcepcionPersonalizada(string mensaje)
        : base(mensaje)
    {
    }

    public MiExcepcionPersonalizada(string mensaje, Exception inner)
        : base(mensaje, inner)
    {
    }
}

En este ejemplo, MiExcepcionPersonalizada es una nueva clase que hereda de Exception. Hemos definido tres constructores:

  1. Un constructor sin parámetros.
  2. Un constructor que acepta un mensaje.
  3. Un constructor que acepta un mensaje y una excepción interna, lo cual es útil para encadenar excepciones.

Lanzando una Excepción Personalizada

Una vez que tienes tu excepción personalizada, puedes lanzarla usando la palabra clave throw. Aquí hay un ejemplo de cómo lanzar la excepción que acabamos de crear:

 
public void MetodoEjemplo(int valor)
{
    if (valor < 0)
    {
        throw new MiExcepcionPersonalizada("El valor no puede ser negativo.");
    }
}

En este código, si el parámetro valor es menor que cero, se lanzará una instancia de MiExcepcionPersonalizada con un mensaje explicando el error.

Manejo de Excepciones Personalizadas

El manejo de una excepción personalizada se realiza de la misma manera que cualquier otra excepción, usando un bloque try-catch. A continuación, se muestra un ejemplo:

 
try
{
    MetodoEjemplo(-1);
}
catch (MiExcepcionPersonalizada ex)
{
    Console.WriteLine($"Se ha capturado una excepción personalizada: {ex.Message}");
}

En este ejemplo, la excepción personalizada lanzada en MetodoEjemplo es capturada en el bloque catch, y el mensaje de la excepción es mostrado en la consola.

Conclusión

Crear y lanzar excepciones personalizadas en C# te permite manejar errores específicos de tu aplicación de una manera clara y controlada. Recuerda que, aunque es una práctica útil, debes usarlas con moderación para no complicar demasiado el manejo de excepciones en tu código. Siguiendo estos simples pasos, podrás mejorar la robustez y mantenibilidad de tus aplicaciones.

Etiquetas:

Deja una respuesta

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