VBScript中的异常处理

本文详细介绍了VBScript中的OnErrorResumeNext和OnErrorGoTo0错误处理机制,通过实例展示了如何使用这些机制来控制异常行为,并演示了如何利用MsgBox函数弹出错误提示框。同时,提供了测试例子来验证不同情况下错误处理的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值