Enterprise Library 2.0 -- Exception Handing Applcation Block

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;
}

时间: 2024-11-02 09:33:32

Enterprise Library 2.0 -- Exception Handing Applcation Block的相关文章

Enterprise Library 2.0 -- Data Access Application Block

前面介绍了Enterprise Library 2.0中的Caching Application Block和Cryptography Application Block,今天我们来看一下Enterprise Library 2.0里对数据处理的部分--Data Access Application Block.它为我们开发者提供了对数据处理的大部分通用的方法.其内容包括: 1.使用DataReader返回多行数据 2.使用DataSet返回多行数据 3.返回一个输出型参数 4.返回一个单一值

Enterprise Library 2.0 -- Data Access Application Block(补充)

前几天一位热心的朋友询问如何在DataAccess Application Block中将参数单独写成一个方法,以方便频繁调用一些存储过程,也可以将这些参数装入缓存以提高程序执行效率,下面将实现该功能的代码贴出来,希望对正在研究这方面知识的朋友有所帮助. /**//// <summary> /// 该方法用于返回一个存储过程的参数数组 /// 从而方便了我们在程序中反复调用 /// 而且我们可以将返回的参数数组装入缓存,提高程序执行效率 /// </summary> /// <

黄聪:Microsoft Enterprise Library 5.0 系列教程(七) Exception Handling Application Block

原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(七) Exception Handling Application Block 使用企业库异常处理应用程序模块的优势: 它支持整个应用程序体系结构层的异常处理,而不仅限于服务接口的界限.  它使得异常处理策略可以在管理层定义和维护,以便决策人员(可能是系统管理员和开发人员)可以定义如何处理异常.他们可以维护和修改控制异常处理的规则集,而无需更改块的应用程序代码.  它提供了常用的异常处理功能,例如记录异常信息

黄聪:Microsoft Enterprise Library 5.0 系列教程(五) Data Access Application Block

原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(五) Data Access Application Block 企业库数据库访问模块通过抽象工厂模式,允许用户通过简单的配置选择不同的数据库作为程序的数据源,大大解决了切换数据库时带来的麻烦.因为我本机只安装了SQL Server 2005,所以在此只做SQL的演示,需要深究的朋友可以访问以下网站: http://msdn.microsoft.com/en-us/library/ff664408%28v=P

Enterprise Library 3.0体验(2):使用Validation Application Block

一.概述 在Enterprise Library 3.0 December 2006 CTP版中,加入了一个新的成员Validation Application Block,用来实现对业务对象的验证.它支持两种方式的验证,通过特性Attribute和通过配置文件,但是在最新版本中并没有提供配置的设计时支持,我们只能通过手动去修改配置文件来实现,所以本文主要看一下通过Attribute来实现验证. 二.通过ValidationFactory创建验证器 Validation Application

Enterprise Library 2.0 -- Security Application Block

今天来介绍一下Enterprise Library 2.0中的Security Application Block ,它可以帮助程序开发者在应用程序中实现与授权有关的大部分功能,不仅如此,它还支持缓存我们系统中用户的授权以及,授权数据.主要包括一下几个部分的功能: 1.减少代码编写量: 2.保持应用程序中安全管理的一致性: 3.提供了应用程序中很多安全问题的实现方法: 4.可扩展,支持自定义Provider. ... 关于Security Application Block的介绍部分,我不再多说

Enterprise Library 2.0 -- Logging Application Block(补充)

在前面的文章中,有朋友提到我们在实际项目中往往是把一些事件的日志(比如异常)写入到数据库中,这样更方便查看和管理,而在前面的文章中我都是以写入到文本文件为例的,今天这篇文章就算是对前两篇的一个补充,主要来介绍如何将日志信息写入到数据库中,同时也很感谢那位朋友的建议,下面我们进入正题,分为以下几个步骤: 一. 根据Enterprise Library 2.0中将日志写入到数据库中的需要,我们在数据库中添加一张记录日志的表(RX_Log): --日志信息表 create table RX_Log (

Enterprise Library 2.0 -- Logging Application Block(下)

阅读本文之前,请先阅读:Enterprise Library 2.0 -- Logging Application Block (上) 上一篇中我们介绍了如何去配置Logging Application Block,本文将主要介绍Logging Application Block 的基本操作以及Formatter和Trace Listeners 的自定义方法,首先我们来看如何将一个事件日志写入到一个文本文件中. 假设我们按照上一篇的操作配置了Logging Application Block,那

Enterprise Library 2.0 -- Logging Application Block(上)

Enterprise Library 2.0 中的 Logging Application Block 在1.0版本中是Logging and Instrumentation Application Block,因为把重点放在了日志记录上,所以改名为Logging Application Block.Logging Application Block提供了统一的日志记录功能,它支持将日志写入到多种目的地中,比如:1.数据库:2.文本文件:3.Email:4.消息队列:5.WMI event:6.