欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

【C#】Winform 全局異常捕獲處理

admin
2023年9月4日 12:11 本文熱度 612

我們在開發winform程序的時候經常需要處理異常,如果沒處理好異常程序就會崩潰,影響用戶體驗。
所以防止程序在沒處理到異常時能由一個全局的異常捕獲處理,在winform的program文件里面我們可以添加全局異常捕獲事件,然后處理異常。

在program的main方法里面設置異常處理方式,然后注冊異常處理的兩個事件:

1.設置異常處理方式

Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);//處理未捕獲的異常


2.ThreadException 處理UI線程異常

Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);

Application_ThreadException方法:

static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)        {            string str = "";

           string strDateInfo = "\r\n\r\n出現應用程序未處理的異常:" + DateTime.Now.ToString() + "\r\n";

           Exception error = e.Exception as Exception;

           if (error != null)            {

               string logInfo = string.Format(strDateInfo + "異常類型:{0}\r\n異常消息:{1}\r\n異常信息:{2}\r\n", error.GetType().Name, error.Message, error.StackTrace);                str = string.Format(strDateInfo + "異常類型:{0}\r\n異常消息:{1}\r\n",                error.GetType().Name, error.Message);

           }

           else

           {                str = string.Format("應用程序線程錯誤:{0}", e);

           }

           MessageBox.Show(str, "系統錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);

       }


3.UnhandledException 處理非UI線程異常

AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

CurrentDomain_UnhandledException 方法:

static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)

       {

           string str = "";

           Exception error = e.ExceptionObject as Exception;

           string strDateInfo = "出現應用程序未處理的異常:" + DateTime.Now.ToString() + "\r\n";

           if (error != null)

           {

               string logInfo = string.Format(strDateInfo + "Application UnhandledException:{0};\n\r堆棧信息:{1}", error.Message, error.StackTrace);                str = string.Format(strDateInfo + "Application UnhandledException:{0};\n\r", error.Message);

           }

           else

           {                str = string.Format("Application UnhandledError:{0}", e);            }            MessageBox.Show(str, "系統錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);        }

該文章在 2023/9/4 12:16:48 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved