狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

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

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

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

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

1.設(shè)置異常處理方式

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出現(xiàn)應(yīng)用程序未處理的異常:" + 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("應(yīng)用程序線程錯誤:{0}", e);

           }

           MessageBox.Show(str, "系統(tǒng)錯誤", 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 = "出現(xiàn)應(yīng)用程序未處理的異常:" + 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, "系統(tǒng)錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);        }

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