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