此应用程序块,是对原始的异常,判断类型后进行封装,转换,处理等动作的处理。
一,下载并安装好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 快速使用图文笔记 目录 适合初学者
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?