Definir tus propias excepciones de negocio en C#
En esta lección vas a crear un tipo de excepción propio para representar un error de negocio y capturar exactamente ese tipo de error.
Introducción
En lugar de lanzar una Exception genérica, puedes definir una excepción cuyo nombre describa con claridad el error de negocio, por ejemplo un stock insuficiente. El código se vuelve más legible, y el manejo de errores puede capturar exactamente el tipo de error que hay que tratar.
La clase InsufficientStockException hereda de Exception, así que tiene todo el comportamiento de una excepción normal. El método Reserve lanza esta excepción cuando la cantidad pedida supera el stock disponible. El bloque catch solo captura el tipo InsufficientStockException y muestra el mensaje Not enough stock.
Ejemplo de C# ejecutable
using System;
class InsufficientStockException(string message) : Exception(message) { }
class Program
{
static void Reserve(int available, int requested)
{
if (requested > available) throw new InsufficientStockException("Not enough stock");
}
static void Main()
{
try { Reserve(2, 3); }
catch (InsufficientStockException error) { Console.WriteLine(error.Message); }
}
}
Not enough stockPractica con el depurador
Practica con un reto
Usa lo que cubre esta lección para resolver un problema real. Cada reto se ejecuta en el navegador, con pruebas al instante y una revisión de IA.
- Primera edad no válida Valida las edades escritas y señala dónde está la primera entrada incorrecta en lugar de dejar que el programa falle. Fácil
- Sumar los números válidos Suma las entradas que sean números enteros y omite todo lo demás, como maneja try/except la entrada incorrecta. Fácil