foreach (Widget item in items)
{
try
{
//do something...
}
catch { }
}
foreach (Widget item in items)
{
try
{
//do something...
}
catch { continue; }
}
6
A
回答
8
在這種情況下,什麼也沒有,因爲try是循環複合語句的最後一個語句。 continue
將始終轉到下一次迭代,或者如果條件不再成立,則結束循環。
20
catch { continue; }
將導致代碼在新的迭代上啓動,跳過循環內的catch
塊之後的任何代碼。
3
編譯器會忽略它。這是從反射器。
public static void Main(string[] arguments)
{
foreach (int item in new int[] { 1, 2, 3 })
{
try
{
}
catch
{
}
}
foreach (int item in new int[] { 1, 2, 3 })
{
try
{
}
catch
{
}
}
}
9
其他答案告訴你在給定的代碼片段中會發生什麼。使用catch子句作爲循環中的最終代碼,沒有功能差異。如果你有catch子句後面的代碼,那麼沒有「continue」的版本將執行該代碼。 continue
是break
的stepbrother,它將循環體的其餘部分短路。與continue
,它跳到下一個迭代,而break
完全退出循環。無論如何,爲自己展示你的兩種行爲。
for (int i = 0; i < 10; i++)
{
try
{
throw new Exception();
}
catch
{
}
Console.WriteLine("I'm after the exception");
}
for (int i = 0; i < 10; i++)
{
try
{
throw new Exception();
}
catch
{
continue;
}
Console.WriteLine("this code here is never called");
}
0
如果您的樣本是逐字記錄的,那麼我會說「沒有區別」!
但是,如果您在發現後執行語句,那麼它就完全不同了!
catch { continue; }
將跳過catch塊之後的任何東西!
catch{}
仍然會執行catch塊後的語句!
相關問題
- 1. erlang,'catch 1 = 0'和'(catch 1 = 0)'有什麼區別?
- 2. 訂閱中的onError和catch操作符有什麼區別?
- 3. jQuery 3.2.1中的.catch和.fail有什麼區別?
- 4. try-catch和throw在java中的區別
- 5. Python中的for循環中的`continue`和`pass`有區別嗎?
- 6. 在catch塊中使用continue語句
- 7. 循環和迭代有什麼區別?
- 8. Foreach try catch
- 9. Perl中'for'和'foreach'有什麼區別?
- 10. 使用ItemsSource和foreach循環在ListView中分配數據有什麼區別?
- 11. 做循環試try catch
- 12. while循環忽略try-catch
- 13. 在while循環中執行try/catch
- 14. 在while循環中使用Try/Catch
- 15. 無限循環和循環之間有什麼區別?
- 16. Ruby:for循環和每個循環之間有什麼區別?
- 17. Catch-all servlet和JSP無限循環
- 18. 用try和catch JAVA無限循環
- 19. try/catch語句和循環控制
- 20. 這個while循環有什麼區別?
- 21. Groovy each和forEach有什麼區別?
- 22. 從catch塊中分出for循環
- 23. C#中IEnumerable類的foreach和for循環之間的區別
- 24. 在循環中和循環之前聲明變量有什麼區別?
- 25. 吐司沒有在catch catch中顯示
- 26. 的try-catch在while循環(蟒蛇)
- 27. 爲什麼foreach循環只讀在C#
- 28. while循環中的Java try-catch語句
- 29. while循環中的try-catch方法?
- 30. printf中%c和%C有什麼區別?
這可能是由編譯器完成的優化。上面的示例代碼非常具體。如果在catch塊之後(在第二個foreach循環中)有語句,那麼你應該看到繼續。所以你不能說,總是繼續被忽略。 – SysAdmin 2010-06-10 19:06:58
@SysAdmin - 我很好奇你爲什麼發表了這個評論,當我的回答沒有提到'繼續'將永遠被忽略。 – ChaosPandion 2010-06-11 04:11:28