科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道如何在.NET程序中使用异常处理模块

如何在.NET程序中使用异常处理模块

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

异常处理是.NET Framework的一个重要特征,它可以处理基于.NET程序运行时出现的问题。毕竟,它能更好地避免由.NET产生的默认错误信息。

作者:Tony Patton 2007年7月31日

关键字: Office

  • 评论
  • 分享微博
  • 分享邮件

作为一名程序开发员,我的时间是有限的,所以任何能够节约时间的事情都非常有价值。从这方面来说,我是微软企业库的忠实粉丝。毕竟,谁会拒绝免费的代码呢?在以前的专栏中,我阐述了有关通过企业库进行登录的问题。今天,我将阐述如何在.NET程序中使用Exception Handling Block处理异常。

异常处理

异常处理是.NET Framework的一个重要特征,它可以处理基于.NET程序运行时出现的问题。毕竟,它能更好地避免由.NET产生的默认错误信息。另外,如果问题发生,敏感信息或代码将被显示出来,而这些默认的错误信息将有可能成为安全漏洞。通常情况下,错误信息揭示了某些代码细节,而这些细节可能被怀有恶意的人所利用。

异常处理是反反复复的。也就是说,处理异常的相同方法被一遍又一遍的重复使用。目前,处理普通异常已经有一些固定模式。而Exception Handling Block可以提供可靠的方法处理代码异常。

企业库

企业库是由微软通过测试后的实例构建的程序库。它允许在程序中使用可靠的异常处理。异常处理可根据项目的要求而进行简单化或复杂化调整。它包含配置工具,可以定义异常策略,可以指定如何处理异常(特殊的异常类型可采用不同的方法处理)。

企业库包含安装的一些基本功能。包括登录、将一个异常封装到另一个异常类型、用一个异常替代另一个异常。它也允许创建自定义设置。所有的这些选项都是通过企业库的配置工具进行设置。

使用异常处理模块

使用异常处理模块的第一步则是在项目的动态链接库(DLL)中添加一个参考。这与添加其他DLL没有什么不同——仅仅是简单地选择“添加参考”,然后在系统中定位DLL。参考一旦被添加,则在C#下面的代码文件中包含了这个参考:

usingMicrosoft.Practices.EnterpriseLibrary.ExceptionHandling;

这里是VB.NET的用法:

Imports Microsoft.Practices.EnterpriseLibrary.ExceptionHandling

当在程序中添加了参考后,则使用“添加/配置异常政策”为程序进行配置。所以,打开配置工具,然后从“文件”菜单中选择“打开程序”。为程序查找config文件(Windows程序是app.config 文件,ASP.NET 程序是web.config 文件等等),此时,在程序的config文件中添加和保存模块的配置信息。

举个例子:我现在有个ASP.NET程序,配置异常处理一般的异常、casting和null参考异常。这些信息通过配置文件进行保存,但是条目都添加到程序的配置文件中(在本例中,因为是Web 程序,所以是在web.config文件中)。表A中代码被添加到web.config文件中。

第一行是主节点——enterpriselibrary.configurationSettings——它包含了“applicationName”属性,这一属性与配置程序中指定的名称一致。这就告诉系统使用何种异常处理政策。一旦所有的东西都配置好,则必须添加一个或多个异常策略,它可能在你的代码中被使用到。表B中简单的C#“try/catch”模块捕获一个异常,并且使用“if”语句来确定这个已经产生的异常是否在策略指定的类型中已有定义(“Policy Name”参数)。(表C包含了同等的VB.NET 代码)

请注意:当异常与政策定义匹配时,则使用一个“throw”语句。微软称使用这个“throw”语句而不使用“throw ex”非常重要。如果使用“throw ex”,那么异常的堆栈痕迹则会被在“re-throw”点开始的堆栈痕迹所代替。

结论

Exception Handling Block超越了以前的异常处理方法。它将异常管理和异常策略结合在一起,共同为异常管理提供了全方位的功能。使用这些方法,可以捕获、警示或忽略各种异常。

责任编辑:张琎

查看原文国际来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章