【VB】On Error略解

本文深入探讨了MSDN上关于OnErrorResumeNext和OnErrorGoTo0的使用方法,阐述了在对象或控件错误捕捉场景中如何灵活运用这两种错误处理方式。通过实例分析,读者将学会在不同情况下选择合适的错误处理策略,从而提升代码的健壮性和用户体验。
       On Error GoTo 0 表示禁止当前过程中任何已启动的错误处理程序。 


       On Error Resume Next 说明当一个运行时错误发生时,控件转到紧接着发生错误的语句之后的语句,并在此继续运行。访问对象时要使用这种形式而不使用 On Error GoTo。 


       On Error GoTo line 启动错误处理程序,且该例程从必要的 line 参数中指定的 line 开始。line 参数可以是任何行标签行号。如果发生一个运行时错误,则控件会跳到 line,激活错误处理程序。指定的 line 必须在一个过程中,这个过程与 On Error 语句相同; 否则会发生编译时间错误。 

(和Exit Sub连用)




以上MSDN上的解释 

       一般情况下,如果在对我们创建的对象或控件进行错误捕捉,需要使用On Error Resume Next ,然后在判断它的Err.Number,根据错误类型来做相应的处理。

VB6 中,`On Error` 语句用于处理运行时错误。以下是其使用方法、相关功能及注意事项: ### 使用方法 `On Error` 有三种主要的使用方式: - **On Error Resume Next**:当执行该语句后,遇到错误时不会触发错误处理程序,而是继续执行下一条语句。可以通过 `Err.Number` 来判断是否发生了错误。例如: ```vb On Error Resume Next Call CPUIDFunction() If Err.Number <> 0 Then ' 处理异常情况,例如显示错误信息、记录日志等 End If ``` - **On Error GoTo [行标签]**:当遇到错误时,程序会跳转到指定的行标签处继续执行。示例代码如下: ```vb Sub Example() On Error GoTo ErrorHandler ' 可能会出错的代码 Dim result As Integer result = 1 / 0 ' 这里会产生除零错误 Exit Sub ' 正常情况下会执行到这里退出子程序 ErrorHandler: MsgBox "发生错误:错误号 " & Err.Number & ",错误描述:" & Err.Description End Sub ``` - **On Error GoTo 0**:该语句用于关闭当前的错误处理程序,使程序恢复到默认的错误处理行为,即遇到错误时弹出错误提示框。 ### 相关功能 - **错误捕获**:通过 `On Error` 语句可以捕获代码执行过程中出现的各种运行时错误,避免程序因错误而崩溃。 - **错误处理**:在捕获到错误后,可以根据 `Err.Number` 和 `Err.Description` 来判断错误的类型和具体描述,从而进行相应的处理,如显示错误信息、记录日志等。 - **恢复执行**:使用 `On Error Resume Next` 可以在发生错误后继续执行后续代码,而不会中断程序的运行。 ### 注意事项 - **错误处理程序的作用域**:错误处理程序只在当前的过程中有效。如果在一个过程中使用了 `On Error` 语句,当调用其他过程时,该错误处理程序不会影响被调用过程中的错误处理。 - **重新启用错误处理**:如果在错误处理程序中使用了 `Resume` 语句,可以使程序从错误发生的位置继续执行。但需要注意,在继续执行之前,可能需要清除错误信息,以避免再次触发错误处理程序。 - **嵌套错误处理**:在复杂的程序中,可能会出现嵌套的错误处理情况。在这种情况下,需要谨慎处理,避免出现错误处理程序的混乱。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值