windows應用程序(包括控制臺)在運行時如果出現了未處理的異常會出項windows的異常提示框 

這個提示框在平時并沒有什么影響。但是當我們使用啟動的是一個服務器程序時,我們的要求應該是盡可能快的重啟應用。
但是由于這個提示框導致我們的第三方守護程序并不知道應用已經崩潰退出,導致我們無法及時處理。     
     所以,我們應該在程序啟動時再做一個處理,即添加未處理異常的事件     
C#: AppDomain.CurrentDomain.UnhandledException
         解釋: 此事件提供通知未捕獲的異常。 它允許應用程序來記錄有關異常的信息,系統默認處理程序將異常報告給用戶和終止應用程序之前。 如果提供了有關狀態的應用程序的足夠信息,可以采取其他措施-例如保存更高版本的恢復的程序數據。 建議小心,因為不處理異常時,可能會損壞程序數據。          
          在該事件中我們可以從容的捕獲異常、記錄然后退出重啟。 
          示例代碼: 
class Program    {       static int m_count = 0;       static void Main(string[] args)       {           AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;           while(true)           {              Func1();              Thread.Sleep(10);           }       }       private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)       {           Console.WriteLine("有未經處理的異常,程序即將退出!");           Thread.Sleep(5000);           Environment.Exit(-1);       }       static void Func1()       {           m_count++;           if(m_count > 100)           {              throw new Exception();           }       }    } 結果:

總結
以上所述是小編給大家介紹的C# 屏蔽由于崩潰彈出的windows異常彈框,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
新聞熱點
疑難解答