Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
Console.WriteLine(Get());
int Get()
{
try
{
return 1;
}
finally
{
Console.Write("B");
}
}B1
- Ждать
1B:finallyвыполняется, покаGetещё не вернул значение, поэтомуBпечатается первым. - Считать, что
returnвыходит сразу и пропускаетfinally:finallyвыполняется при любом выходе изtry.
- Что изменится в выводе, если
tryвместоreturnвыбросит исключение, а вызывающий код его перехватит? - Почему в самом блоке
finallyнельзя написатьreturn?