C# 6.0 – Ausnahmen filtern

Mit C# 6.0 hat Microsoft wieder einige neue Funktionalitäten hinzugefügt, die das Schreiben von Quellcode nicht nur erleichtern sondern auch übersichtlicher gestalten. Eine dieser Neuerungen in C# 6.0 ist das sogenannte „Exception filtering“ mit dem es möglich ist, auftretene Ausnahmen nur unter bestimmten Bedingungen abzufangen und andernfalls einfach durchzulassen. Das Abfangen einer Exception unter bestimmten Bedingungen könnte zum Beispiel wie folgt aussehen:

try
{
	int x = 5 / 0;
}
catch (DivideByZeroException ex) if (DateTime.Now.DayOfWeek != DayOfWeek.Saturday)
{
	Console.WriteLine(ex.Message);
}

Hier wird die Ausnahme an jedem Wochentag abgefangen außer Samstags. Wenn wir also einen Samstag haben, wird die Exception in diesem Fall normal weiter gegeben bis jemand diese abfängt oder die Applikation abstützt.