对于我们来说,有三个不同的地方会出现错误(也被称为异常):脚本、中间件和底层结构。底层错误,例如周期性出现的破坏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”结构。