您的位置:首页 > 移动开发

Enterprise Library Exception Handling Application Block 学习笔记 - 1

2008-06-17 16:50 645 查看
Exception Handling Application Block设计用来完成企业级应用程序各层中异常处理。

Exception Handling Application Block设计达到如下目标:
l 将执行大部分通用异常处理任务的逻辑封装为最小的应用程序代码。
l 减轻开发人员为通用异常处理任务编写重复代码和定制代码。
l 允许在异常处理policies部署后也可改变,并且确保改变的同时性和一致性。
l 包含异常处理的最佳实践

Exception Handling Application Block 应用程序块
1.提供了一种简单的机制,允许你按照一致的方式,处理异常
2.通过定义异常策略,使你可以:
任何类型为ApplicationException的异常,由Exception Handling提供统一的处理方式
例1:类型为SqlClientException的异常,将捕获并用另一种形式的异常进行包装
例2:类型为SecurityException的异常,将被捕获并由AccesDeniedException代替,并且被抛出
3.提供了记录功能,创建自己的解决方案的功能
...

Exception Handling Application Block中主要类之间的交互关系:



一旦配置的Handler执行后,就产生对应的post-handling动作,该动作有如下选项:

None -没有重抛异常的动作。

NotifyRethrow -告诉调用程序:Policy推荐应该重抛异常。

ThrowNewException -在所有的Handler执行后,向调用程序抛出最终异常(并不一定是原始的异常)。

如下是简单的示例代码:

try



...
{


customersDataSet = RunQuery(“GetAllCustomers”);


}


catch(Exception ex)



...
{


bool rethrow = ExceptionPolicy.HandleException(ex, “Data Access Policy”);
if (rethrow) throw;


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐