C#-Übungen

Eigene fachliche Ausnahmen definieren in C#

In dieser Lektion erstellst du einen eigenen Ausnahmetyp für einen fachlichen Fehler und fängst genau diese Fehlerart ab.

Einführung

Statt einer allgemeinen Exception kannst du eine eigene Ausnahme definieren, deren Name den fachlichen Fehler klar beschreibt, etwa zu wenig Ware im Lager. So wird der Code lesbarer, und die Fehlerbehandlung kann genau die Fehlerart abfangen, die sie behandeln muss.

Die Klasse InsufficientStockException erbt von Exception und hat damit das ganze Verhalten einer normalen Ausnahme. Die Methode Reserve löst diese Ausnahme aus, wenn die angeforderte Menge den verfügbaren Bestand übersteigt. Der catch-Block fängt nur InsufficientStockException ab und gibt die Meldung Not enough stock aus.

Ausführbares C#-Beispiel

C#
Code ausführen →
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); }
    }
}
Ergebnis der Ausführung
Not enough stock

Mit dem Debugger üben

Setze einen Haltepunkt auf eine wichtige Zuweisung oder Bedingung, klicke auf Debug und sieh dir die lokalen Werte an, bevor du zur nächsten Zeile gehst.

Mit einer Challenge üben

Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.

Alle Challenges