static void Main() { //注冊捕捉異常事件 Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e) { Exception ex = e.Exception; //做一些極其簡單的記錄異常信息操作 }又例如: WebFrom的Global.asax本身就已經定義了void Application_Error(object sender, EventArgs e) 來處理異常
void Application_Error(object sender, EventArgs e) { // 在出現未處理的錯誤時運行的代碼 Exception ex = Server.GetLastError(); //處理完異常後清除異常 Server.ClearError(); }
但是很多時候,異常處理,不僅僅只是記錄到了錯誤信息就可以了,有時候是需要失敗重試或者清理資源等等,因此,僅僅靠統一構建異常處理框架是不夠靈活的,
因此可以一方面統一處理,另外一方面特殊的地方可以另外處理。