您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> asp >> 正文

ASP中健壮的页结构的异常处理

作者:佚名    信息学院来源:整理    点击数:    更新时间:2008-1-24 我要参与讨论

 

  在本文讨论的范围内,有三个不同的地方可以发生错误:脚本,中间件,以及IT内部架构。IT内部架构的错误,比方周期性的性能降低并导致IIS进行(Inetinfo.exe)崩溃几乎是无法避免的。这种类型的错误通常只能打电话要求技术支持并且会让系统管理员忙上很久。 开发者不能为阻止这类错误做些什么,但是我们通常能够应付和改正脚本和中间件中的砦蟆?在安装了IIS以后,缺省的服务器端脚本语言被设置成VBScript。许多Web 开发团队在他们的开发环境中保持了这些缺省设置,这是不幸的,因为VBScript对于处理运行时错误的支持非常的差。在VBScript中,开发者可以使用的唯一一个错误处理结构是

  On Error Resume Next (打开错误处理功能) 和
  On Error GoTo 0 (关闭错误处理功能)

  为了在你的ASP 页面里有效的使用这个错误处理结构,你可能需要用这些结构包括可能抛出异常的代码,就象下面这样:  

  <%
  Dim myVar
  On Error Resume Next
  '下面一行代码会在MSXML 4.0没有被安装或者已经损坏的情况下产生错误
  Set myVar = Server.CreateObject("MSXML2.DOMDocument.4.0")
  If Err.Number <> 0 Then
  ' 在这里处理错误
  ' 结束错误处理,避免以后发生的错误无法被发现
  On Error GoTo 0
  Else
  ' myVar 现在指向 MSXML 4.0 DOMDocument的一个实例
  ' 结束错误处理,避免以后发生的错误无法被发现
  On Error GoTo 0
  End If
  %>  

  就象你看到的一样,如果你要在每一行现有的可能发生错误的代码上使用上面的规则,你的程序马上就会充满 "On Error" 和 "If Err.Number <> 0 Then . . ." 这样的结构。

  而另一方面JScript对于健壮的错误处理机制“结构化异常处理(SEH)”有内建的支持。使用SEH能够让你的软件开发团队顺利的转移到.NET 环境上来,因为SEH是JScript.NET, VB.NET, 和 C#缺省的错误处理机制。(注意:.NET不支持VBScript。)下面的例子代码执行与VBScript代码相同的操作,但是使用JScript语言并用SEH来处理异常  

   <%@ LANGUAGE="JScript" %>
  <%
  var myVar;
  try {
  myVar = Server.CreateObject("MSXML2.DOMDocument.4.0");
  // 如果上面发生了错误,那么catch
  // 代码块就会立刻被执行
  // 并在myVar上进行必要的操作。
  }
  catch (e) {
  // 在这里处理异常,异常本身可以用
  // 'e' 变量进行引用。
  }
  finally {
  // 在这里进行所有收尾工作
  // 这段代码不管错误有没有发生
  // (也就是“catch”块有没有运行)
  // 都会执行。
  }

[1] [2] 下一页

在google里搜索更多ASP中健壮的页结构的异常处理

Google
Web www.51ec.org
  • 上一篇信息学院:

  • 下一篇信息学院:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    我来说两句 对此文章发表了评论
      昵 称: *必填    ·注册用户·
      评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
    评 论
    内 容

     
    评论列表 (最新 评论仅限网友观点!)

    供求信息




    | 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明