Итак, сегодня утром я наткнулся на код, который выглядел так:
try
{
x = SomeThingDangerous();
return x;
}
catch (Exception ex)
{
throw new DangerousException(ex);
}
finally
{
CleanUpDangerousStuff();
}
Теперь этот код отлично компилируется и работает так, как должен, но кажется неправильным возвращаться из блока try, особенно если есть связанный файл finally.
Моя основная проблема в том, что произойдет, если, наконец, выдаст собственное исключение? У вас есть возвращаемая переменная, но также есть исключение, с которым нужно иметь дело ... поэтому мне интересно знать, что другие думают о возвращении из блока try?
x
за пределамиtry
блока. Вы можете хранить его объявление рядом с его использованием.