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();
}
但是很多時候,異常處理,不僅僅只是記錄到了錯誤信息就可以了,有時候是需要失敗重試或者清理資源等等,因此,僅僅靠統一構建異常處理框架是不夠靈活的,
因此可以一方面統一處理,另外一方面特殊的地方可以另外處理。