Err 对象是一个具有全局范围 —的固有对象:不必在您的代码中创建它的示例。Err的属性被一个错误的生成器设置:Visual Basic自动对象,或 VBScript程序。err对象含有关于运行时错误的信息。接受用于生成和清除运行时错误的Raise 和Clear方法。当发生运行时错误时,Err的属性由标识错误的唯一信息以及可用于处理它的信息填充。要在代码中生成运行时错误,请用Raise方法。
Err 对象的属性
Number 属性 错误号。Number 是 Err 对象的默认属性,可读可写。语法:
err.Number [= errornumber]
Description 属性 返回或设置与错误相关联的说明性字符串。语法:
err.Description [= stringexpression]
Source 属性 返回或设置最初生成错误的对象或应用程序的名称。语法:
err.Source [= stringexpression]
HelpFile 属性 设置或返回帮助文件的完整有效路径。 语法:
err.HelpFile [= contextID]
contextID是帮助文件的完整有效路径。
HelpContext 属性 设置或返回帮助文件主题的上下文 ID。语法:
err.HelpContext [= contextID]
contextID是在帮助文件中帮助主题的有效标识符。
Err 对象的方法
Raise方法 生成运行时错误。语法:
err.Raise(number, source, description, helpfile, helpcontext)
number是错误号,长整数子类型。VBScript 错误有VBScript
定义和用户定义两种错误,错误号的范围在0-65535 之间。number参数是必须的,其它参数是可选的,用来设置err对象的某属性。如果不指定某些参数且Err对象的属性设置含有未清除的值,则这些值将成为错误的值。
Clear 方法 清除 Err 对象的所有属性设置。语法:
err.Clear
在错误处理后,使用Clear 显式地清除Err 对象,此操作是必须的,在任何时候执行下列语句,VBScript 将自动调用 Clear 方法:
On Error Resume Next
Exit Sub
Exit Function
例程1 生成并显示第6号错误。
代码
On Error Resume Next
Err.Raise 6 '发生溢出错误。
MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description)
Err.Clear ' 清除错误。
例程2 建立用户自己的错误号和错误信息。
代码
On Error Resume Next
Err.Raise vbObjectError + 1, "SomeObject" ' 产生对象错误 #1.
MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description & " " & Err.source)
Err.Clear ' 清除错误。
运行:
代码注释
例程1演示的是VBScript定义的错误,而例程2演示的是用户定义的错误。
目标任务 把VBScript定义的前100个错误信息显示出来。
代码
sub showErr(i)
On Error Resume Next
Err.Raise i
document.write ("Error # " & CStr(Err.Number)&" "& Err.Description & " ")
Err.Clear
End sub
for i =0 to 100
showErr i
next
对比 Javascript中做不到这一点。
参考 On Error语句
On Error启动错误处理程序。语法:
On Error Resume Next
若不使用On Error语句,发生的任何运行时错误都将是致命的,即显示错误信息并终止运行。On
Error 会使程序从紧随产生错误的语句之后的语句继续执行,或是从紧随最近一次调用过程(该过程含有On Error 语句)的语句继续运行。这个语句可以不顾运行时错误,继续执行程序,之后您可以在过程内部建立错误处理例程。在调用另一个过程时,On Error语句变为非活动的。所以,如果希望在例程中进行内部错误处理,则应在每一个调用的例程中执行On Error语句