CSharp Cheat sheet

Tu guía rápida para programar en C#

Throw en C#

La palabra clave throw en C# se utiliza para lanzar excepciones manualmente. Permite interrumpir el flujo de ejecución cuando ocurre una situación inesperada o un error que debe ser manejado por el llamador. Usar throw correctamente es esencial para crear aplicaciones robustas y fáciles de depurar.

Lanzar una excepción

Puedes usar throw junto con una instancia de una excepción para detener la ejecución y notificar el problema.

if (valor < 0) {
    throw new ArgumentException("El valor no puede ser negativo.");
}
    

Aquí se lanza una excepción si la condición no se cumple.

Relanzar una excepción capturada

Dentro de un bloque catch puedes relanzar la misma excepción para que otros bloques más externos la manejen.

try {
    Procesar();
} catch (Exception ex) {
    Console.WriteLine("Error capturado.");
    throw;
}
    

Usar throw; sin argumentos conserva el stack trace original.

Personalizar excepciones

Puedes definir tus propias excepciones heredando de Exception para describir errores específicos de tu aplicación.

public class MiExcepcion : Exception {
    public MiExcepcion(string mensaje) : base(mensaje) { }
}
    

Y lanzarla con:

throw new MiExcepcion("Ocurrió un error personalizado.");
    

Buenas Prácticas

Usa throw para situaciones realmente excepcionales, no como flujo de control. Prefiere excepciones específicas (por ejemplo, ArgumentNullException) en lugar de Exception genérico. Conserva el stack trace usando throw; al relanzar. Proporciona mensajes claros para facilitar el diagnóstico.

Ver también

Documentación oficial de Microsoft

Ver más en Microsoft Docs