VBScript中的异常处理
On Error Resume Next (打开错误处理功能) 和
On Error GoTo 0 (关闭错误处理功能)
向上层抛出异常:?Err.Raise Err.Number
?
弹出错误提示框
MsgBox的函数说明
?
?
http://www.pcdog.com/edu/vbscript/2005/10/p075747.html
?
?
On?? Error?? Resume?? Next
'可能出现异常的脚本语句
If?? Err?? <>?? 0?? Then
???? MsgBox?? "An?? error?? occurred:?? "?? &?? Err.Description
Else
???? MsgBox?? "Success! "
End?? If
?
测试例子:
?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
?
?例子2:
?
Function Test1
??? On Error Resume Next
??? Test2
???? If Err.Number <> 0 Then? '测试结果,当Test2出错抛异常时,我这里不能捕获
??????? WScript.Echo "Exception!!!"
???? End If
End Function
Function Test2
??? On Error Resume Next
??? Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
??? Set GetWMIService = objSWbemLocator.ConnectServer("kk")
??? If Err.Number <> 0 Then '这里出错时,我想把异常抛出去,不处理
??????? Err.Raise Err.Number
??? End If
End Function
Test2