示例项目
您可以从 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 中使用而创建的异常类而言是一个必要条件。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/