首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

Enterprise Library 2.0 Hands On Lab 翻譯(7):例外處理應用程式區塊(一)

     編輯:關於ASP.NET

練習 1:記錄例外資訊

在無例外處理的應用程式中加入例外處理區塊,實作本地與全域例外處理,記錄至 Windows 事件日誌。

步驟 1:開啟專案

開啟 Puzzler.sln,預設路徑 C:\Program Files\Microsoft Enterprise Library January 2006\labs\cs\Exception Handling\exercises\ex01,編譯。

步驟 2:回顧應用程式

  1. 執行應用程式,目前無例外
  2. 在文字框輸入 abc123 點擊 Add Word,出現未處理例外,偵錯中斷
  3. 停止偵錯回到 VS

步驟 3:新增 Try/Catch 例外處理

  1. 專案 PuzzlerUI 加入參考:Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.dll
  2. 加入例外處理組件參考

  3. 開啟 Puzzler.cs,加入命名空間:using Microsoft.Practices.EnterpriseLibrary.ExceptionHandling;
  4. 修改 btnAddWord_Click 方法:
private void btnAddWord_Click(object sender, System.EventArgs e)
{
    try
    {
        PuzzlerService.Dictionary.AddWord(txtWordToCheck.Text);
        errorProvider1.SetError(txtWordToCheck, "");
    }
    catch (Exception ex)
    {
        bool rethrow = ExceptionPolicy.HandleException(ex, "UI Policy");
        if (rethrow)
            throw;
        MessageBox.Show(string.Format("Failed to add word {0}, please contact support.", txtWordToCheck.Text));
    }
}

注意:必須使用 throw 而非 throw ex。throw ex 會重新封裝例外堆疊,失去原始資訊。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved