是否可以在try块中使用return语句?How,该语句的用法是什么?是否可以在try块中使用return语句?怎么样?
回答
您可以从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"); } }
还要注意,试图从finally子句返回会导致编译器错误。 – TreDubZedd 2010-05-13 17:06:51
+1对答案和评论今天学习了一些关于finally块的内容。 – 2010-05-13 21:45:36
当然,你可以不喜欢它:
public string X(..)
{
try
{
//do something
return value;
}
catch(Exception ex)
{
throw;
//or return here
}
}
重要的是你要么投掷或返回到catch块。如果try代码引发异常,try块中的返回将不会被执行。 – 2010-05-13 16:17:49
**绝不要写'throw ex'!** – SLaks 2010-05-13 16:22:54
当然,你可以使用try块的回报,而且语法就像其他任何地方。
try
{
return 0;
}
catch (Exception e)
{
// handle exception
}
是的。例如,我可以使用局部变量而不必扩大其范围。
int Foo(string bar) {
try {
int biz = int.Parse(bar);
return biz;
} catch(...) {
// Handle bad `bar`
}
}
这个问题的回答是肯定的。 作为一个例子,你可以参考以下问题: finally and return 希望你也能得到澄清。
- 1. 是否可以在catch块中使用Try catch块?
- 2. 是否可以使用try-catch语句修补内存泄漏?
- 3. 'yield return'语句不能出现在try/catch块约束中
- 4. 是否可以在dataview.rowfilter中使用2个参数?怎么样?
- 5. 是否可以在WPF中使用Kit3D?如果是这样,怎么样?
- 6. 使用?在return语句
- 7. `return`语句的作用是什么?
- 8. 在Java中嵌套try/catch语句是否可接受?
- 9. 使用return语句有什么区别?
- 10. 在asp.net中使用try语句使用if语句
- 11. Java 7 try-with-resources - 什么可以在try子句中
- 12. 在生成器中使用return语句
- 13. 我可以把一个return语句锁
- 14. 使用try catch语句打印语句
- 15. 是否可以在厨师的if语句中使用支持语句?
- 16. 如何在R中使用try语句?
- 17. 程序在switch语句中使用try catch块后终止
- 18. 想要在Try/Catch块中使用IF/Else语句
- 19. 在return语句中运行echo语句
- 20. 是否可以在`case`语句的`when`节中使用`或`?
- 21. 是否可以在数组语句中使用表?
- 22. 这条SQL语句是否可以在JPQL +准则中使用?
- 23. MySQL - 是否可以在IN()语句中使用group_concat?
- 24. 是否可以在PROC SQL case语句中使用向量?
- 25. 返回语句'RETURN TO'是什么?
- 26. 多个语句在try/catch块 - Java的
- 27. 我怎么可以这样使用Hibernate
- 28. 在MSDN return语句
- 29. 为什么用包含return语句的方法替换return语句是不可能的?
- 30. 返回类型为void的方法是否使用return语句?
你试过了吗? – SLaks 2010-05-13 16:15:11
-1没有打扰尝试 – 2010-05-13 16:15:42
我有问题在我的系统...所以我现在不能。 – TinTin 2010-05-13 16:17:11