Sobes.tech
Junior — Middle

In welchen Situationen wird der finally-Block in der Ausnahmebehandlung verwendet und welche Rolle spielt er?

sobes.tech KI

Antwort von AI

Der finally-Block in C# wird verwendet, um Code auszuführen, der in jedem Fall nach dem try-Block und möglichen catch-Blöcken ausgeführt werden soll, unabhängig davon, ob eine Ausnahme aufgetreten ist oder nicht.

Die Hauptaufgabe von finally ist die Freigabe von Ressourcen, das Schließen von Dateien, Verbindungen zu Datenbanken, das Freigeben von Speicher und andere Aufräumarbeiten, die immer erfolgen müssen.

Beispiel:

try
{
    // Code, der eine Ausnahme auslösen kann
    using (var file = new StreamReader("file.txt"))
    {
        var content = file.ReadToEnd();
    }
}
catch (IOException ex)
{
    Console.WriteLine("Fehler beim Lesen der Datei: " + ex.Message);
}
finally
{
    // Dieser Code wird immer ausgeführt, auch wenn keine Ausnahme aufgetreten ist oder sie behandelt wurde
    Console.WriteLine("Beenden der Arbeit mit der Datei.");
}

Wenn im try-Block eine Ausnahme auftritt und nicht abgefangen wird, wird finally trotzdem ausgeführt, bevor die Ausnahme weitergegeben wird.