Exception Filters sind neu in C# 6. Dieser Beitrag erkärt wie sie funktionieren.

Mit Exception Filters kann man Catch-Blöcke mit Bedingungen versehen. Ist die jeweilige Bedingung erfüllt, wird der catch-Block (natürlich nur bei Auftreten der entsprechenden Ausnahme) ausgeführt.

Jetzt mag man meinen, dass das ja jetzt schon ginge, indem man die Exception catched und innerhalb des Ausführungsblockes Bedingungen festlegt. Der Unterschied liegt darin, dass für dieses Vorgehen die Exception gecatched werden muss. Mit Hilfe der Exception Filters wird zuerst die Bedingung geprüft und erst dann die Exception gecatched und der dazugehörige Codeblock ausgeführt.

Und so sieht ein Beispiel für Exception Filters aus:

try
{
    // do that awesome stuff
}
catch (MyCustomException customEx) when(customEx.ErrorCode == 100)
{
    // do what should be done
}
catch (MyCustomException customEx) when(customEx.ErrorCode == 200)
{
    // do what should be done
        }
catch (MyCustomException customEx)
{
    Console.WriteLine("General");
}

VB.NET- und F#-Entwickler kennen das schon :)

Viel Spaß!

Viele weitere Neuerungen finden sich in der C# 6 Serie.

Über den Autor

Norbert Eder

Ich bin ein leidenschaftlicher Softwareentwickler und Fotograf. Mein Wissen und meine Gedanken teile ich nicht nur hier im Blog, sondern auch in Fachartikeln und Büchern.

Cookie-Einstellungen
Auf dieser Website werden Cookie verwendet. Diese werden für den Betrieb der Website benötigt oder helfen uns dabei, die Website zu verbessern.
Alle Cookies zulassen
Auswahl speichern
Individuelle Einstellungen
Individuelle Einstellungen
Dies ist eine Übersicht aller Cookies, die auf der Website verwendet werden. Sie haben die Möglichkeit, individuelle Cookie-Einstellungen vorzunehmen. Geben Sie einzelnen Cookies oder ganzen Gruppen Ihre Einwilligung. Essentielle Cookies lassen sich nicht deaktivieren.
Speichern
Abbrechen
Essenziell (1)
Essenzielle Cookies werden für die grundlegende Funktionalität der Website benötigt.
Cookies anzeigen