程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> Enterprise Library 2.0 -- Exception Handing Applcation Block

Enterprise Library 2.0 -- Exception Handing Applcation Block

編輯:關於ASP.NET

Enterprise Library 2.0 中的 Exception Handing Applcation Block 為我們開發人員以及設計人員提供了一個一致的方法去處理我們整個企業級應用程序的每個層次上的異常,表現在以下幾個方面:

1、它為應用程序的架構的每個層提供異常處理方法,並不僅僅局限於服務層接口;

2、提供通用的異常處理方法,比如記錄異常信息,使用我們自定義的異常信息來替換系統的異常信息等等;

3、我們可以自己定義異常處理的規則,並且可以不通過修改代碼來修改異常處理的規則;

4、它支持我們開發者自己創建自己的異常處理方法;

5、通過同樣的方法來調用異常處理方法,這使得異常處理可以用於應用程序的任何地方。

我們在進行異常處理時,一般采用一下策略:

1、包裝

2、替換

3、日志

那麼,Exception Handing Application Block 究竟能給我們得開發帶來哪些好處呢?先看下面的代碼:

DataSet customersDataSet;

try
{
 customersDataSet = RunQuery("GetAllCustomers");
}
catch(Exception ex)
{
 string formattedInfo = FormatException(ex);
 Logging.Log(formattedInfo);
 throw new DataAccessException("Database access failure for query GetAllCustomers",e);
}

上面的代碼估計我們最熟悉不過了,不錯,在我們的應用程序中這樣的代碼估計會貫穿我們的程序中的每一個角落,但是當我們處理異常的方法發生改變了的時候,我們就要對所有的代碼進行修改,這是一件很郁悶的事情,Exception Handing Application Block的出現就為我們解決了這樣的麻煩,使用Exception Handing Application Block後,我們只需要修改配置文件就可以改變應用程序中的所有異常處理方法。如下:

DataSet customersDataSet;

try
{
 customersDataSet = RunQuery("GetAllCustomers");
}
catch(Exception ex)
{
 bool rethrow = ExceptionPolicy.HandleException(ex, "Data Access Policy");
 if (rethrow)
  throw;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved