我一直認爲在Visual Studio和C#中,未處理的異常總是會導致程序終止。現在我知道我可以繼續。另外,當應用程序在調試模式下運行時,我可以在部署程序時(或者在創建可執行文件時調用它時如何調用它)來「跳過」未處理的異常?它會使其崩潰嗎?調試模式下的C#異常與真實
0
A
回答
0
catch(Exception ex)
{
#if DEBUG
Console.WriteLn("oops")
#else
throw
#endif
}
+2
這應該是「扔」,而不是「拋出」如果你想保持原來的堆棧幀。 – 2011-01-05 14:46:25
0
我認爲這些文章將是有益的,供您閱讀:
Exception Handling (MSDN)
Handling and Throwing Exceptions (MSDN)
這是更好地掌握基礎知識,然後決定什麼最適合你。
+0
謝謝。我明白如何處理異常。我只是好奇,爲什麼一旦發生異常,我可以繼續(至少)控制檯應用程序。我以爲它會終止。 – Loj 2011-01-05 14:51:52
0
異常意味着意外的事情發生。如果應用程序不知道如何響應,它會崩潰。
我們擁有像try catch finally
這樣的結構的原因是讓應用程序意識到不可預見的問題以及如何在這種情況下做出反應。
如果您正確實施異常處理,您的應用程序將始終平穩運行。它可能會終止,但即使這樣也不會突然。
相關問題
- 1. 調試模式下拋出異常
- 2. 在調試模式下關閉異常
- 3. 僅在調試模式下的FFMPEG異常
- 4. Eclipse調試獲得觸發調試模式的異常
- 5. 在調試模式下拋出異常,但在哪裏?
- 6. WebDriverWait只在調試模式下拋出異常
- 7. C++調試異常c0000139
- 8. C++調試中斷異常
- 9. 在發佈模式/調試模式下雙精度的差異
- 10. html模式下的真實鏈接emacs
- 11. java.net.SocketException異常:真實設備
- 12. Simulink的:仿真調試樣模式
- 13. C++異常設計模式
- 14. 調試異常
- 15. 調試異常
- 16. Objective-C異常在調試Xamarin C#iOS App時發生異常
- 17. 在發佈模式下的應用程序異常,而不是在調試模式下
- 18. java應用程序在「info」模式下運行良好,並在Logback的「調試」模式下拋出異常
- 19. C++如何在調試模式下運行宏定義調試?
- 20. Flask-Restful在非調試模式下接管Flask的異常處理
- 21. 在調試模式下
- 22. Python調試:找到引發異常的位置,進入調試模式?
- 23. GWT 2.5.1和IntelliJ調試模式,可序列化的異常
- 24. 爲什麼C/C++程序在調試模式下經常關閉優化?
- 25. Android調試異常
- 26. 調試器不會暫停異常C++
- 27. 調試C# - 堆棧溢出異常?
- 28. 如何將Eclipse配置爲在調試模式下跳過異常?
- 29. 在調試模式下將NSObject轉換爲CSharp對象會引發異常
- 30. 當在調試模式下運行時,ASP.Net Core不會引發異常
爲什麼要面對你無法處理的異常情況(即未處理的異常)呢? – 2011-01-05 14:41:50
對於Winforms或WPF應用程序,這不是真的。或者在Debug + Exceptions對話框中勾選了Thrown複選框。更好地記錄你的問題。 – 2011-01-05 14:42:21
對不起,我不想解除異常。我只想知道我的想法是否正確。 – Loj 2011-01-05 14:42:48