誠意滿滿直接上代碼: 併在Program類(Main函數所在類)中,增加如下函數即可: 註意:如果在CurrentDomain_UnhandledException中只列印異常而不終止程式的話,該異常仍然會被拋出,最終還是會導致彈出“XXX已停止工作”的對話框,所以如果不想彈框讓程式卡住的話就需要用 ...
誠意滿滿直接上代碼:
static void Main(string[] args) { //Main函數中增加此句 AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); }
併在Program類(Main函數所在類)中,增加如下函數即可:
private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { Console.WriteLine(e.ExceptionObject.ToString()); Environment.Exit(-1); //有此句則不彈異常對話框 }
註意:如果在CurrentDomain_UnhandledException中只列印異常而不終止程式的話,該異常仍然會被拋出,最終還是會導致彈出“XXX已停止工作”的對話框,所以如果不想彈框讓程式卡住的話就需要用第二句Environment.Exit或其他方式終止程式。當然此處除了向命令行輸出異常外還可以保存當前數據或者其他災難處理措施,但因為程式已經發生異常了,可能有些數據已經損壞,讀取可能導致其他問題,要小心哦!
另外winform程式的話,對Application對象也要做一些設置,具體可以參考微軟文檔中的例子:https://msdn.microsoft.com/zh-cn/library/ms157905(v=vs.110).aspx