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

你可能感兴趣的:(VBScript,异常处理)