Ejercicios de C#

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

C#
Ejecutar código →
Program.cs
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); }
    }
}
Resultado de la ejecución
Not enough stock

Practica con el depurador

Pon un punto de interrupción en una asignación o condición importante, pulsa Debug y revisa los valores locales antes de pasar a la siguiente línea.

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.

Todos los retos