创建健壮的页面:ASP中的结构化异常处理

ZDNet软件频道 时间:2003-07-03 作者:ZDNet China |  我要评论()
本文关键词:
处理程序中的各种错误是另程序员们心烦的一件事。有效处理这些错误并且把对站点的正常运行的影响减少到最小是每个有责任心的程序员的职责。
本文译自Builder.com,未经许可请勿转载处理程序中的各种错误是另程序员们心烦的一件事。面对它把,我们不要出错的代码,大家都这样想。不幸的是,从软、硬件的变动到重用其他开发团队的代码,运行错误可以由各种原因引起。有效处理这些错误并且把对站点的正常运行的影响减少到最小是每个有责任心的程序员的职责。

对于我们来说,有三个不同的地方会出现错误(也被称为异常):脚本、中间件和底层结构。底层错误,例如周期性出现的破坏IIS进程(Inteinfo.exe),是很少能够预料的。这种类型的错误通常需要打技术支持电话来解决并且会花费系统管理员大量的时间。程序员对于底层错误办法不多,但是可以捕获脚本和中间件错误。

IIS安装时将VBScript作为默认的服务器端脚本语言,很多Web开发商在他们的开发环境中保留了这个默认设置。这不是一个好的选择,因为VBScript对于运行错误处理的支持很弱。在VBSript中,程序员可以用来处理错误的唯一结构是:

On Error Resume Next //开始捕获错误

On Error GoTo 0 //关闭错误捕获

要想在你的页面中有效运用,要把有潜在异常的代码行放进这个结构中,如下所示:

<%

Dim myVar

On Error Resume Next

‘如果没有安装MSXML4.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 Error.Number <> 0 Then”结构。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134