当前位置: 代码迷 >> vbScript >> VBScript中的错误处理
  详细解决方案

VBScript中的错误处理

热度:733   发布时间:2012-10-29 10:03:53.0
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

  相关解决方案