C#未捕获异常处理方法

http://blog.csdn.net/robingaoxb/article/details/7278288

C#经常会因为未捕获的异常而造成应用程序崩溃,以下是解决方法:

1.WPF捕获

[csharp]  view plain copy
  1.     Application.Current.DispatcherUnhandledException += new System.Windows.Threading.DispatcherUnhandledExceptionEventHandler(Current_DispatcherUnhandledException);  
  2.   
  3. void Current_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)  
  4. {  
  5.     MessageBox.Show(e.Exception.Message + "\r\n" + e.Exception.StackTrace, "系统信息");  
  6. }  


2.winform捕获

[csharp]  view plain copy
  1.     System.Windows.Forms.Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);  
  2.     System.Windows.Forms.Application.SetUnhandledExceptionMode(System.Windows.Forms.UnhandledExceptionMode.CatchException);  
  3.     AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);  
  4.   
  5. void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)  
  6. {  
  7.     MessageBox.Show(((Exception)e.ExceptionObject).Message + "\r\n" + ((Exception)e.ExceptionObject).StackTrace, "系统信息");  
  8. }  
  9.   
  10. void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)  
  11. {  
  12.     MessageBox.Show(e.Exception.Message + "\r\n" + e.Exception.StackTrace, "系统信息");  
  13. }  

你可能感兴趣的:(C#,.NET)