VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 利用pass-through错误处理器来简化错误处理
发表评论(0)作者:BUILDER.COM, 平台:VB6.0+Win98, 阅读:14600, 日期:2003-08-29
    Visual Basic 6之中的错误处理机制对实现一流的代码编制并不是很有利。在大多数的VB应用程序之中典型的错误处理类似于这样:  


Public Sub DoSomething()
Dim objSomeObject As Object

On Error GoTo ErrorHandler

注释:Do something

Set objSomeObject = Nothing

Exit Sub

ErrorHandler:
Set objSomeObject = Nothing

注释:Handle Error
Call Msgbox("Error Number: " &
Err.Number)
End Sub
这种方法的问题在于,任何清除的代码都必须被复制,包括在主执行路径和错误处理器之中的。这种方法的另一个问题是程序有多个退出点。

这里是处理错误的一个简洁的方法:

Public Sub DoSomething()
Dim objSomeObject As Object

On Error GoTo Cleanup

注释:Do something

Cleanup:
Set objSomeObject = Nothing

注释:Handle Error
If Err.Number <> 0 Then
Call Msgbox("Error Number:" & Err.Number)
End If
End Sub
通过让代码进入清除段,清除就会只出现一次。在执行了清除之后,代码就会进行检查,看是否有错误出现并适当地对其进行处理。