Exception filters catch ifadeleri içerisinde filtre oluşturmak için kullanılmaktadır. C# 6.0 öncesinde benzer bir işlem aşağıdaki gibi yapılmaktadır.
try { throw new Exception("ex 1"); } catch(Exception ex) { if(ex.Message == "ex 1") { //ex 1 işlemleri } else if(ex.Message == "ex 2") { //ex 2 işlemleri } }
C# 6.0 ile catch bloğuna aşağıdaki gibi filtre uygulanabilmektedir.
try { throw new Exception("ex 1"); } catch (Exception ex) when (ex.Message == "ex 1") { //ex 1 işlemleri } catch (Exception ex) when (ex.Message == "ex 2") { //ex 2 işlemleri }
Başarılar dilerim.