示例項目
您可以從 MSDN Magazine Web 站點下載一個名為 ManagedExceptionWebApp 的示例 Web 項目。主頁提供了指向其他三個頁的超鏈接。其中,一個頁只是顯示文本,另一個頁將幾個數字加在一起,最后一個頁調用 MSDN.ExceptionGenerator 命名空間中一個名為 PurchaseOrder 的 .NET 對象(這總是引發 .NET 異常)。
在 ThrowNetException ASP 頁中,創建了一個托管的 PurchaseOrder 對象并且調用了 GenerateOrderForSupplier 方法。圖 7 中顯示了該方法的代碼。該示例遵循一種常見的設計模式:使用數據訪問類訪問數據存儲,同時讓業務對象負責提供業務對象的功能。
PurchaseOrderData GenerateOrderForSupplier 試圖使用顯然不正確的連接登錄數據庫,如以下代碼片段所示:
public void GenerateOrderForSupplier(String supplierName)
{
using(SqlConnection connection = new SqlConnection(
ConfigurationSettings.AppSettings["connStr"))
{
connection.Open();
... // Code to insert purchase order details into database
}
}
當從 PurchaseOrderData GenerateOrderForSupplier 方法中引發 SqlException 時,它被在 PurchaseOrder GenerateOrderForSupplier 方法中捕獲。然后,該異常被使用自定義的異常類型 PurchaseOrderException 再次引發。該類型被用于在處理購買訂單時引發的所有異常。它派生自 BaseException,這對于所有為在 EMAB 中使用而創建的異常類而言是一個必要條件。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/