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
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 stockS'entraîner avec le débogueur
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.
- Premier âge invalide Validez les âges saisis et indiquez où se trouve la première entrée erronée au lieu de laisser le programme planter. Facile
- Additionner les nombres valides Additionnez les entrées qui sont des nombres entiers et ignorez tout le reste, comme le fait try/except face à une entrée invalide. Facile