Вы можете вернуться из блока try, но имейте в виду, что код в условии finally будет выполнен перед возвратом из метода. Например, вызов MessageBox.Show(test().ToString());
с использованием метода, приведенного ниже, приведет к появлению двух окон сообщений (в первом отображается «3», а во втором «1»).
int test()
{
try
{
return 1;
throw new Exception();
}
catch (Exception e)
{
return 2;
}
finally
{
MessageBox.Show("3");
}
}