С# 6 имеет новую функцию, называемую фильтрацией исключений
Синтаксис выглядит следующим образом:
catch (Win32Exception exception) when (exception.NativeErrorCode == 0x00042)
{
//Do something here
}
Я не мог не задаться вопросом, какова польза от нынешнего подхода:
catch (Win32Exception exception)
{
if (exception.NativeErrorCode == 0x00042)
{
//Do something here
}
}
Разве дело в том, что фильтрация происходит до фигурной скобки? Возможно, в отношении производительности или безопасности?