日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
WinForm程序中未處理異常的解決方法

在這里我們將討論的是WinForm程序中未處理異常的解決方法,向您推薦《WinForm應用與開發(fā)教程》,希望能對您了解WinForm有所幫助。

發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務至上”的服務理念,堅持“二合一”的優(yōu)良服務模式,真誠服務每家企業(yè),認真做好每個細節(jié),不斷完善自我,成就企業(yè),實現(xiàn)共贏。行業(yè)涉及成都柔性防護網(wǎng)等,在成都網(wǎng)站建設、營銷型網(wǎng)站建設、WAP手機網(wǎng)站、VI設計、軟件開發(fā)等項目上具有豐富的設計經(jīng)驗。

#T#

如果Windows Forms程序中有未被捕獲的異常,會導致程序崩潰并且給用戶造成不良的印象。例如下面的程序,模擬了一個未捕獲的異常:

按鈕事件為:

 
 
 
 
  1. private void button1_Click(object sender, EventArgs e){  
  2.         throw new Exception();  

點擊Exception 按鈕,會彈出如下默認窗口

Windows Forms提供了兩個事件來處理未捕獲的異常發(fā)生時的情況,分別是 Application.ThreadException和AppDomain.UnhandledException事件,前者用來處理UI線程中的異常,后者處理其他線程中的異常。要使程序使用自定義的事件來處理異常,可以使用如下代碼:

 
 
 
 
  1. static class Program  
  2.     {  
  3.         ///   
  4.         /// The main entry point for the application.  
  5.         ///   
  6.         [STAThread]  
  7.         static void Main()  
  8.         {  
  9.  Application.ThreadException += 
  10. new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);  
  11.  AppDomain.CurrentDomain.UnhandledException += 
  12. new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);  
  13.               
  14.             Application.EnableVisualStyles();  
  15.             Application.SetCompatibleTextRenderingDefault(false);  
  16.             Application.Run(new Form1());  
  17.         }          
  18.  
  19. static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)  
  20.         {  
  21.             MessageBox.Show("抱歉,您的操作沒有能夠完成,請再試一次或者聯(lián)系軟件提供商");  
  22.             LogUnhandledException(e.ExceptionObject);  
  23.         }  
  24.  
  25. static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)  
  26.         {  
  27.             MessageBox.Show("抱歉,您的操作沒有能夠完成,請再試一次或者聯(lián)系軟件提供商");  
  28.             LogUnhandledException(e.Exception);  
  29.         }  
  30.  
  31.         static void LogUnhandledException(object exceptionobj)  
  32.         {  
  33.             //Log the exception here or report it to developer  
  34.         }  
  35.     } 

此時運行該程序的結(jié)果如下:


網(wǎng)站標題:WinForm程序中未處理異常的解決方法
轉(zhuǎn)載來于:http://www.dlmjj.cn/article/djgjhip.html