此应用程序块,是对原始的异常,判断类型后进行封装,转换,处理等动作的处理。
一,下载并安装好Enterprise Library 4.1
二,新建一个Web应用程序
三,右键点击Web.Config 文件 使用 Edit Enterprise Library Configuration 可以编辑Web.Config,添加一个异常程序块。
四,添加异常策略,并为异常策略添加异常类型
五,并为这个异常类型添加处理器Handler ,这里我们添加 Logging Handler,结果如下
六,几个重要的概念(源自TerryLee)
1.策略:
确定一系列的异常类型是如何拦截并处理的
每一个策略可以包含多个异常类型
每个应用程序支持多个异常策略
2.异常类型:
可以使用Exception功能的异常类型应该是一个System.Exception类型或从此类继承下来的类
每一个异常类型可以包含一个或多个Handler
每一个异常均可以通过映射到.NET中的特定类型,从而被处理
3.处理器Handler:
异常捕获后进行处理的方式有日志,包装,替换等;
每一个异常类型可以有多个异常处理器;
每一个异常捕获处理器均有机会修改原有异常;
每一个异常捕获处理器均有机会将自己的信息通过异常传递给下一个异常处理程序;
实际上,这个异常块的核心内容就是,在异常策略定义何种异常使用什么方法进行处理,1:N,对异常的转换,封装,写日志什么。
七,配置日志程序块
FormaterType :使用文本形式
LogCategory:选择默认的Ganeral,这样会像事件查看器中写日志
日志块部分,主要是定义Trace Listeners 这个节点
八,添加引用,这里要引用三个组件
九,编写代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.Practices.EnterpriseLibrary.ExceptionHandling;
namespace ExceptionHandlingBlock
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
try
{
Exception ex = new Exception();
throw ex;
}
catch (Exception ex)
{
bool Flag = ExceptionPolicy.HandleException(ex, "Exception Policy");
if (Flag)
{
Response.Write("异常抛出,请查看系统日志");
}
}
}
}
}
十,添加生成事件脚本,复制Config,没有Config会报错
copy "$(ProjectDir)\*.config" "$(TargetDir)"
十一,运行结果,打开系统日志:
示例源码下载:EL41Sample.rar
Enterprise Library 4.1 目录:Enterprise Library 4.1 快速使用图文笔记 目录 适合初学者
分享到:
相关推荐
ExceptionHandling
C程序设计教学课件:CHAPTER13EXCEPTIONHANDLING.pptx
当遇到下列情况时,程序会出现异常: 程序访问一个不可用的内存地址(例如,NULL指针); 无限递归导致的栈溢出; 向一个较小的缓冲区写入较大块的数据; 类的纯虚函数被调用;...
contains java programming lectures
AspNetCore.ExceptionHandling 此存储库是ASP.NET Core的常见异常处理模块。 支持的ASP.NET Core版本:5.0、3.1、3.0和2.2建造工具dotnet.exe命令行Visual Studio /代码用法自己构建库或导入NuGet包。 有关详细的...
项目名称:11_ExceptionHandling 取消选择“创建主类”复选框 结束 在“项目”窗口中右键单击项目->选择“ Git”->选择“远程”->选择“拉..”->下一步 选择“指定Git存储库位置” 远程名称:起源 资料库URL: : ...
The C++ Standard Library A Tutorial and Reference (2nd Edition)+cppstdlib-code.zip C++标准库(第二版)英文版.pdf 非扫描版+源代码 Prefaceto the SecondEdition xxiii Acknowledgments for the Second...
Java原始管理Parichayana Java工具,用于挖掘用于自动发现异常管理反模式和代码气味的源代码 从命令行运行应用程序的说明 ...ExceptionHandling \\ Activiti-master C:\\ RESEARCH \\ ExceptionHandling \\ output.txt
Contents Preface i 1 Introduction 1 1.1 Information isBits inContext . . . . . . ....1.2 Programs areTranslated byOtherPrograms intoDifferent Forms ....1.3 ItPays toUnderstandHowCompilation SystemsWork ....