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;
}
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;
}
相关文章推荐
- Enterprise Library Exception Handling Application Block 学习笔记 - 3
- Enterprise Library Exception Handling Application Block 学习笔记 - 2
- EntLib 3.1学习笔记(5) : Exception Handling Application Block
- EntLib 3.1学习笔记(5) : Exception Handling Application Block
- Microsoft Enterprise Library 5.0 系列(七) Exception Handling Application Block
- Enterprise Library 2.0 Logging Application Block日志组件使用除错笔记(“Microsoft.Practices.EnterpriseLibrary.Logging.Logger”的类型初始值设定项引发异常。 )
- Enterprise Library - Exception Handling Application Block 学习手册(最新版)Part 1
- Enterprise Library - Exception Handling Application Block 学习手册(最新版) Part 2
- 使用Microsoft Enterprise Library 3.1 (May,2007) Exception Handling Block的一点经验
- Unity Application Block 学习笔记之一使用接口
- 黄聪:Microsoft Enterprise Library 5.0 系列教程(七) Exception Handling Application Block
- Microsoft Enterprise Library 5.0 系列(五) Data Access Application Block
- Composite UI Application Block学习笔记之一
- [原创]Enterprise Library Policy Injection Application Block 之一: PIAB Overview
- Using the Enterprise Library Validation Application Block in ASP.NET - Part I
- EntLib 3.1学习笔记(2) : Data Access Application Block
- Enterprise Library Policy Injection Application Block 之三:PIAB的扩展—创建自定义CallHandler(提供Source Code下载)
- Composite UI Application Block学习笔记 Event Broker
- Enterprise library Data Access Application Block试用手记
- WCF学习笔记(一):WCF Service Application和WCF Service Library的区别