是否可以在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