好吧,這很簡單:Application.ThreadException和之間有什么區別AppDomain.CurrentDomain.UnhandledException?我需要同時處理兩者嗎?謝謝!
3 回答

慕容森
TA貢獻1853條經驗 獲得超18個贊
Application.ThreadException特定于Windows窗體。Winforms運行事件處理程序以響應Windows發送給它的消息。例如,單擊事件,我確定您知道它們。如果這樣的事件處理程序拋出異常,則Winforms消息循環中就會有一個捕獲該異常的后臺程序。
該支持會觸發Application.ThreadException事件。如果您不重寫它,則用戶將獲得ThreadExceptionDialog。這使他可以忽略異常并繼續運行您的程序。順便說一句,這不是一個好主意。
您可以通過在Program.cs的Main()方法中調用Application.SetUnhandledExceptionMode()來禁用此行為。沒有適當的支持,當線程因未處理的異常而死亡時,會發生通常的事情:AppDomain.UnhandledException觸發并且程序終止。
Fwiw:“ ThreadException”是一個非常糟糕的名稱選擇。它與線程無關。
- 3 回答
- 0 關注
- 534 瀏覽
添加回答
舉報
0/150
提交
取消