控制台应用程序,由于一些未捕获的异常,会导致程序崩溃,Windows会自动弹出“XXXX程序已停止工作”的对话框。为了避免这种情况发生
在应用程序入口处订阅UnhandledExceptionEventHandler事件。
代码如下:
AppDomain.CurrentDomain.UnhandledException +=new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); //;OnDomainUnhandledException;
捕获异常,并处理:
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
ExceptionToMessageHelper.WriteLog(string.Format("应用程序出现异常,请重新启动!异常情况如下:\r\n{0}", e.ExceptionObject.ToString()));
SendMonitorMessage(-40003011, "应用程序出现异常,请重新启动!"); //发送消息到监控系统
}
{
ExceptionToMessageHelper.WriteLog(string.Format("应用程序出现异常,请重新启动!异常情况如下:\r\n{0}", e.ExceptionObject.ToString()));
SendMonitorMessage(-40003011, "应用程序出现异常,请重新启动!"); //发送消息到监控系统
}