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:
- Un constructor sin parámetros.
- Un constructor que acepta un mensaje.
- 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.