當我的程序遇到致命錯誤並崩潰時,如何執行一些代碼?例如,出現了一些錯誤,彈出的框中顯示「TestApp.exe遇到錯誤,需要關閉」。然後我想寫一個帶有錯誤代碼的文件,並說出最後幾個輸入到程序中的東西的報告。我怎麼會在C#中做到這一點?處理C#中的致命異常?
4
A
回答
3
根據您正在編寫的應用程序的類型,有不同的方法。您可以查看following article以瞭解在WinForms應用程序中如何實現這一點。
0
通常,編寫Exception
,FatalException
和另外兩種類型的處理程序是一個好主意,您應該在try.. catch
子句中更具體。嘗試探索Application
課程,尤其是其SetUnhandledExceptionMode
。你可以找到一個很好的例子,如何使用它here。
0
這取決於你在這裏問什麼。
您可以通過try/catch獲得定期例外。
但是,如果您運行的任何外部DLL可能會損壞狀態異常(CSE),您需要在您的app.config中啓用legacyCorruptedStateExceptionsPolicy(但不要忘記,Microsoft有理由將其作爲默認值移除它以前,你應該嘗試解決這種錯誤不僅趕上他們,忘記它們)
http://dotnetslackers.com/articles/net/All-about-Corrupted-State-Exceptions-in-NET4.aspx
0
對於錯誤記錄到文件中,你可以使用log4net
任何方式,它應該像:
try
{
// Something potentially dangerous
}
catch (Exception Ex)
{
Logger.Append(Ex.Message);
}
相關問題
- 1. C++非致命異常處理
- 2. 在ViewModel/Model中處理致命異常
- 3. 用arrayObject處理php致命異常
- 4. C++異常處理
- 5. C++異常處理
- 6. C++處理異常
- 7. 異常處理C++
- 8. C++異常處理
- 9. C#異常處理
- 10. 處理構造函數中引發的致命異常
- 11. 致命錯誤:AutoCAD C#.NET插件中的未處理的訪問異常
- 12. CMD異常處理C/C++
- 13. 未處理的異常(C++)
- 14. c#類的異常處理
- 15. 致命異常
- 16. 致命異常
- 17. 致命異常
- 18. 致命的異常
- 19. 在主塔中處理非致命異常
- 20. android.widget.Button中的致命異常
- 21. Android:GoogleAuthUtil中的致命異常
- 22. doInBackground()中的致命異常
- 23. c異常處理sql異常#
- 24. python異常與C++異常處理
- 25. WebView.Navigate導致未處理的異常
- 26. 出口導致未處理的異常
- 27. 在C++/CLI中處理C#異常
- 28. 異步命令模式 - 異常處理
- 29. 致命 - 未處理的異常崩潰 - 原生android錯誤
- 30. C#創建一個致命的異常?
捕獲異常 - 不是特定類型的頂級異常處理程序(博客文章的頂部)是個好主意。事實上,這是你應該抓住Exception的極少數地方之一。 – ssamuel