发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:10424, 日期:2003-01-23
VB技巧:利用pass-through错误处理器来简化错误处理
作者: BUILDER.COM
Thursday, January 2 2003 10:39 AM
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
通过让代码进入清除段,清除就会只出现一次。在执行了清除之后,代码就会进行检查,看是否有错误出现并适当地对其进行处理。
作者: BUILDER.COM
Thursday, January 2 2003 10:39 AM
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
通过让代码进入清除段,清除就会只出现一次。在执行了清除之后,代码就会进行检查,看是否有错误出现并适当地对其进行处理。