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.