using System; class Test { void TestExceptionFilter() { var when = new Object(); try { int i = 0; } catch (Exception e) { int j = -1; } try { int i = 0; } catch { int j = -1; } try { int i = 0; } catch when (DateTime.Now.DayOfWeek == DayOfWeek.Saturday) { int j = -1; } try { int a = (int)when.foo(); } catch (Exception e) when (DateTime.Now.DayOfWeek == DayOfWeek.Saturday) { string b = ((int)when.prop).ToString(); } } }