.net winform全局异常处理
时间:2011-05-06 来源:cwf软件开发平台
static class Program { /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { // Add the event handler for handling UI thread exceptions to the event. Application.ThreadException += new ThreadExceptionEventHandler(Form1_UIThreadException); // Set the unhandled exception mode to force all Windows Forms errors to go through // our handler. Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); // Add the event handler for handling non-UI thread exceptions to the event. AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); //------------------------ Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } // Handle the UI exceptions by showing a dialog box, and asking the user whether // or not they wish to abort execution. private static void Form1_UIThreadException(object sender, ThreadExceptionEventArgs t) { MessageBox.Show("1:"+t.Exception.ToString()); } // Handle the UI exceptions by showing a dialog box, and asking the user whether // or not they wish to abort execution. // NOTE: This exception cannot be kept from terminating the application - it can only // log the event, and inform the user about it. private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { Exception ex = (Exception)e.ExceptionObject; string errorMsg = "An application error occurred. Please contact the adminstrator " + "with the following information:\n\n"; errorMsg += ex.Message + "\n\nStack Trace:\n" + ex.StackTrace; MessageBox.Show("2:" + errorMsg); } }
相关阅读 更多 +