6
我目前正在編寫一個承載多個模塊的服務器。服務器在單獨的AppDomain中運行每個模塊。我想實現的是異常隔離,即當一個模塊拋出一個異常時,我不希望整個過程終止,就是這個特定的AppDomain。我知道,當不同線程中的所有未捕獲的異常被吞噬時,我可以告訴CLR回退到舊的行爲(.NET 1.0)。但是,這不是最「優雅」的解決方案。在C#控制檯應用程序中處理未捕獲的異常
我目前正在編寫一個承載多個模塊的服務器。服務器在單獨的AppDomain中運行每個模塊。我想實現的是異常隔離,即當一個模塊拋出一個異常時,我不希望整個過程終止,就是這個特定的AppDomain。我知道,當不同線程中的所有未捕獲的異常被吞噬時,我可以告訴CLR回退到舊的行爲(.NET 1.0)。但是,這不是最「優雅」的解決方案。在C#控制檯應用程序中處理未捕獲的異常
如何訂閱此事件:
AppDomain.CurrentDomain.UnhandledException
你必須從Object類型強制轉換ExceptionObject屬性例外。
希望有所幫助。
不幸的是,這不是異常處理程序,而只是通知您有關未處理的異常。總之所有的應用程序仍然會崩潰:( – paszczi 2008-10-23 15:22:07