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

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

C# WinForm捕獲全局異常(捕獲未處理的異常)

admin
2023年9月4日 11:56 本文熱度 581

許多公司的項(xiàng)目都缺少異常處理模塊,我們也是。經(jīng)常會(huì)出現(xiàn)這種情況,用戶在UI界面操作,就直接跳出堆棧調(diào)用的異常信息對(duì)話框,老板看到那叫一個(gè)火啊!你們的代碼怎么天天出現(xiàn)亂碼。呵呵!這就是沒有異常捕獲處理導(dǎo)致的,現(xiàn)在許多人寫代碼都沒意識(shí)處理異常,只要實(shí)現(xiàn)功能就好,我的許多組員也是如此。

項(xiàng)目剛接手,所以打算做一個(gè)異常全局捕獲,統(tǒng)一處理的模式,采用具體詳細(xì)信息的對(duì)話框提醒與日志文件保存方式。以下是根據(jù)網(wǎng)上找的C#winform全局異常捕獲做了點(diǎn)修改。(等項(xiàng)目異常處理全部完成后,將心得體會(huì)做個(gè)記錄,此處暫對(duì)全局異常捕獲做個(gè)記錄)

1.  static class Program

2.      {

3.          /// <summary>

4.          /// 應(yīng)用程序的主入口點(diǎn)。

5.          /// </summary>

6.          [STAThread]

7.          static void Main()

8.          {

9.              try

10.            {

11.                //設(shè)置應(yīng)用程序處理異常方式:ThreadException處理

12.                Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);

13.                //處理UI線程異常

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

15.                //處理非UI線程異常

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

17.

18.                #region 應(yīng)用程序的主入口點(diǎn)

19.                Application.EnableVisualStyles();

20.                Application.SetCompatibleTextRenderingDefault(false);

21.                Application.Run(new Form1());

22.                #endregion

23.            }

24.            catch (Exception ex)

25.            {

26.                string str = GetExceptionMsg(ex,string.Empty);

27.                MessageBox.Show(str, "系統(tǒng)錯(cuò)誤", MessageBoxButtons.OK, MessageBoxIcon.Error);

28.            }

29.        }

30.

31.

32.        static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)

33.        {

34.            string str = GetExceptionMsg(e.Exception, e.ToString());

35.            MessageBox.Show(str, "系統(tǒng)錯(cuò)誤", MessageBoxButtons.OK, MessageBoxIcon.Error);

36.            //LogManager.WriteLog(str);

37.        }

38.

39.        static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)

40.        {

41.            string str = GetExceptionMsg(e.ExceptionObject as Exception, e.ToString());

42.            MessageBox.Show(str, "系統(tǒng)錯(cuò)誤", MessageBoxButtons.OK, MessageBoxIcon.Error);

43.            //LogManager.WriteLog(str);

44.        }

45.

46.        /// <summary>

47.        /// 生成自定義異常消息

48.        /// </summary>

49.        /// <param name="ex">異常對(duì)象</param>

50.        /// <param name="backStr">備用異常消息:當(dāng)exnull時(shí)有效</param>

51.        /// <returns>異常字符串文本</returns>

52.        static string GetExceptionMsg(Exception ex,string backStr)

53.        {

54.            StringBuilder sb = new StringBuilder();

55.            sb.AppendLine("****************************異常文本****************************");

56.            sb.AppendLine("【出現(xiàn)時(shí)間】:" + DateTime.Now.ToString());

57.            if (ex != null)

58.            {               

59.                sb.AppendLine("【異常類型】:" + ex.GetType().Name);

60.                sb.AppendLine("【異常信息】:" + ex.Message);

61.                sb.AppendLine("【堆棧調(diào)用】:" + ex.StackTrace);

62.            }

63.            else

64.            {

65.                sb.AppendLine("【未處理異常】:" + backStr);

66.            }

67.            sb.AppendLine("***************************************************************");

68.            return sb.ToString();

69.        }

70.    }


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