Sobes.tech
Junior

Was ist der throw-Operator in C#?

sobes.tech KI

Antwort von AI

Der Operator throw wird verwendet, um explizit eine Ausnahme auszulösen. Er ermöglicht es, die normale Programmausführung zu unterbrechen und die Kontrolle an den Ausnahmebehandlungsblock zu übergeben.

// Beispiel für die Verwendung des throw-Operators
try
{
    int[] numbers = { 1, 2, 3 };
    int index = 5;

    // Manuelles Auslösen einer IndexOutOfRangeException
    if (index >= numbers.Length)
    {
        throw new IndexOutOfRangeException("Der Index liegt außerhalb des Arrays.");
    }

    Console.WriteLine(numbers[index]);
}
catch (IndexOutOfRangeException ex)
{
    // Ausnahmebehandlung
    Console.WriteLine($"Fehler: {ex.Message}");
}

Der Operator throw kann in zwei Formen verwendet werden:

  1. throw expression;: Löst eine neue Ausnahme aus, wobei expression eine Instanz einer Klasse ist, die von System.Exception erbt.

    throw new ArgumentException("Ungültiges Argument.");
    
  2. throw;: Wirft die aktuelle Ausnahme im catch-Block erneut. Dies bewahrt alle Informationen des ursprünglichen Aufruf-Stacks.

    try
    {
        // Code, der eine Ausnahme auslösen kann
    }
    catch (FileNotFoundException ex)
    {
        // Zusätzliche Behandlung oder Protokollierung
        Console.WriteLine($"Datei nicht gefunden: {ex.FileName}");
    
        // Ausnahme erneut auslösen für weitere Behandlung höher im Stapel
        throw;
    }
    

Die Verwendung von throw ist wichtig für:

  • Die Anzeige von Fehlern oder unerwarteten Situationen in der Anwendung.
  • Das Erstellen eigener Ausnahmen für spezifische Fehler.
  • Das Übertragen von Fehlerinformationen an den aufrufenden Code für eine korrekte Behandlung.