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

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

【C#】使用Microsoft.ExceptionMessageBox.dll捕獲WinForm程序中異常信息并彈窗顯示

admin
2024年6月6日 9:29 本文熱度 1130

WinForm程序開發(fā)中,在開發(fā)模式下對于異常的處理一般都是通過調(diào)試的方式來查找異常發(fā)生的未知與原因。

下面以“除數(shù)為0”的情況來具體說明。

Button按鈕事件如下:

private void button1_Click(object sender,EventArgs e)

{

    int numA = 1;

    int numB = 0;


    try

    {

        decimal result = numA / numB;

    }

    catch(Exception ex)

    {

        throw ex;

    }

}

編譯后運行程序,點擊按鈕,拋出異常:

 

上圖中雖然提示出“嘗試除以零”的異常信息,但是“詳細信息”按鈕下顯示的具體提示信息顯示的不是很友好。

下面給出一種更加友好的處理方式,在開發(fā)與測試時都可以使用。 

微軟的SQL Server數(shù)據(jù)庫產(chǎn)品中提供了非常多的公用DLL。

如果你的SQLSERVER安裝在C盤的話,下面的路徑就是相應SQLSERVER版本的公用DLL的存放路徑:

SQL2005  C:\Program Files\Microsoft SQL Server\90SDK\Assemblies

SQL2008  C:\Program Files\Microsoft SQL Server\100SDK\Assemblies

其中Microsoft.ExceptionMessageBox.dll 中的  ExceptionMessageBox 類 提供了顯示異常詳細信息的彈窗處理功能。

 項目中首先添加該dll的引用

并添加Using引用

Button按鈕事件修改如下:

bool alwaysShow = true; //定義全局變量,用于控制是否每次都顯示相同的異常信息


private void button1_Click(object sender,EventArgs e)

{

    int numA = 1;

    int numB = 0;


    try

    {

        decimal result = numA / numB;

    }

    catch(Exception ex)

    {

        if(alwaysShow)

        {

            ExceptionMessageBox msgBox = new ExceptionMessageBox();

            msgBox.InnerException = ex;

            msgBox.Text = "異常信息!"; //獲取或設(shè)置要在異常消息框中顯示的頂級消息的文本

            msgBox.Caption = "測試異常"; //獲取或設(shè)置異常消息框的對話框標題


            msgBox.Beep = true; //指定在顯示消息時是否播放可聽到的聲音


            msgBox.ShowToolBar = true;


            msgBox.Buttons = ExceptionMessageBoxButtons.OKCancel; //獲取或設(shè)置要在消息框中顯示的按鈕

            msgBox.SetButtonText("確定","取消");


            msgBox.ShowCheckBox = true;

            msgBox.IsCheckBoxChecked = true;

            msgBox.CheckBoxText = "總是顯示該信息";


            msgBox.HelpLink = ex.HelpLink; //獲取或設(shè)置指向與頂級消息相關(guān)聯(lián)的幫助文件或幫助網(wǎng)頁的鏈接


            DialogResult dr = msgBox.Show(this);


            if(dr == DialogResult.OK)

            {

                MessageBox.Show("點擊了【確定】按鈕!" + ex.StackTrace);

            }


            alwaysShow = msgBox.IsCheckBoxChecked;

        }

    }

}

ExceptionMessageBox 類提供了彈窗顯示異常信息的功能。

編譯后再次運行程序,點擊:

 

點擊左下角的第2個按鈕【顯示詳細的技術(shù)信息】,彈出如下窗體:

該窗體中把所有的異常信息以樹狀方式列出,點擊不同的樹節(jié)點,右側(cè)顯示對應具體的異常信息。

該中展現(xiàn)方式更加直觀明了,更便于開發(fā)環(huán)境下異常的跟蹤與處理。

 

關(guān)于ExceptionMessageBox更加詳細的信息請參考MSDN:

https://msdn.microsoft.com/zh-cn/library/microsoft.sqlserver.messagebox.exceptionmessagebox.aspx


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