是否可以在try块中使用return语句?。如何使用该语句有什么用处。
答案 0 :(得分:8)
您可以从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"); } }
答案 1 :(得分:4)
当然,你可以在try块中使用return,语法和其他地方一样。
try
{
return 0;
}
catch (Exception e)
{
// handle exception
}
答案 2 :(得分:0)
是
例如,我可以使用局部变量而不必扩大其范围。
int Foo(string bar) {
try {
int biz = int.Parse(bar);
return biz;
} catch(...) {
// Handle bad `bar`
}
}
答案 3 :(得分:0)
这个问题的答案是肯定的。 作为示例,您可以参考以下问题: finally and return 希望你也能得到澄清。
答案 4 :(得分:-1)
当然,你可以这样做:
public string X(..)
{
try
{
//do something
return value;
}
catch(Exception ex)
{
throw;
//or return here
}
}