Я еще не работал на С# 6, но мне было интересно....
Как говорится в заголовке "Что произойдет, если фильтр фильтра" Исключение "выдает исключение?". Я думаю, что действительно ответ: "Фильтр должен быть написан таким образом, чтобы он никогда не выдавал исключение", но, допустим, он это делает. Будет ли это так, как если бы исключение произошло внутри самого catch?
try
{
throw new Exception("Forced Exception");
}
catch (Exception ex) if (MethodThatThrowsAnException())
{
WriteLine("Filtered handler 1");
}
catch (Exception ex)
{
WriteLine("Filtered handler 2");
}
или
try
{
throw new Exception("Forced Exception");
}
catch (Exception ex) if (MethodThatThrowsAnException())
{
WriteLine("Filtered handler 1");
}
Изменить: интересный пример Этот раздел был удален из-за ошибки в предполагаемом volatileread, на котором был основан пример. Требуется дальнейшее исследование