Exercices C#

Définir ses propres exceptions métier en C#

Dans cette leçon, vous allez créer un type d'exception propre pour représenter une erreur métier et intercepter précisément ce type d'erreur.

Introduction

Au lieu de lever une Exception générique, vous pouvez définir une exception dont le nom décrit clairement l'erreur métier, par exemple un stock insuffisant. Le code devient plus lisible, et la gestion des erreurs peut intercepter précisément le type d'erreur à traiter.

La classe InsufficientStockException hérite d'Exception, elle a donc tout le comportement d'une exception ordinaire. La méthode Reserve lève cette exception quand la quantité demandée dépasse le stock disponible. Le bloc catch n'intercepte que le type InsufficientStockException et affiche le message Not enough stock.

Exemple C# exécutable

C#
Exécuter le code →
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); }
    }
}
Résultat de l’exécution
Not enough stock

S'entraîner avec le débogueur

Placez un point d'arrêt sur une affectation ou une condition importante, cliquez sur Debug et inspectez les valeurs locales avant de passer à la ligne suivante.

S'entraîner avec un défi

Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.

Tous les défis