错误处理是让程序员牢骚满腹的东西之一。让我们来面对它,我们不写错误的代码就是了。。。或者类似的想法。不幸的是,代码中的运行时错误可能有许多的原因,从硬件、软件的改变到使用了别的开发团队的代码等等。有效的处理这些错误并使得它对于网站正常操作过程的中断最小化是每个有良知的程序员的责任。 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 ' 在这里处理错误 ' 结束错误处理,避免以后发生的错误无法被发现 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" %> <% varmyVar; try { myVar = Server.CreateObject("MSXML2.DOMDocument.4.0"); // 如果上面发生了错误,那么catch // 代码块就会立刻被执行 // 并在myVar上进行必要的操作。 } catch (e) { // 在这里处理异常,异常本身可以用 // 'e' 变量进行引用。 } finally { // 在这里进行所有收尾工作 // 这段代码不管错误有没有发生 // (也就是“catch”块有没有运行) // 都会执行。 } %> 通过在服务器端使用JScript,你就得到了SEH带来的好处,以及对复杂ASP对象,比方Server,Request和Response对象的完全使用。要把这种脚本语言设置成你的ASP页面的缺省语言,你只需要简单的在你的ASP页面上添加@LANGUAGE指令,就象上面的例子那样。
|
温馨提示:喜欢本站的话,请收藏一下本站!