Esercizi C#

Definire eccezioni di business personalizzate in C#

In questa lezione creerai un tipo di eccezione personalizzato per rappresentare un errore di business e catturerai esattamente quel tipo di errore.

Introduzione

Invece di lanciare una generica Exception, puoi definire un'eccezione con un nome che descrive chiaramente l'errore di business, come la merce insufficiente in magazzino. Così il codice è più leggibile e la gestione degli errori può catturare proprio il tipo di errore da gestire.

La classe InsufficientStockException eredita da Exception, quindi ha tutto il comportamento di una normale eccezione. Il metodo Reserve lancia questa eccezione quando la quantità richiesta supera la merce disponibile. Il blocco catch cattura solo il tipo InsufficientStockException e stampa il messaggio Not enough stock.

Esempio C# eseguibile

C#
Esegui il codice →
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); }
    }
}
Risultato dell'esecuzione
Not enough stock

Esercitati con il debugger

Metti un breakpoint su un'assegnazione o una condizione importante, fai clic su Debug ed esamina i valori locali prima di passare alla riga successiva.

Esercitati con una sfida

Usa ciò che questa lezione spiega per risolvere un problema reale. Ogni sfida gira nel browser, con test immediati e una revisione dell'IA.

Tutte le sfide