我应该如何处理VB6中类之外的错误(在类方法中引发)?

时间:2010-02-25 14:22:21

标签: vb6 error-handling

我想创建一个VB6类的对象并在该对象上调用一个方法。如果

中发生错误

该方法我希望能够在方法中引发错误并将其捕获到类外,在

我称之为方法的例程。

例如,该类可能包含:

Const cmlngMYERROR As Long = vbObjectError + 1001

Public Sub MyMethod()

    ...

    Err.Raise cmlngMYERROR, Err.Source, Err.Description

End Sub

调用例程可能包含:

Private Sub MyCallingRoutine()

    Dim objMyObject As ClassName

On Error GoTo ErrorHandler

    Set objMyObject = New ClassName

    objMyObject.MyMethod

    Exit Sub

ErrorHandler:
    If Err.Number=clngMYERROR Then
        ...
    End If

End Sub

我遇到的问题是你不能在类的顶部定义公共常量。因此,你不能

使用调用例程错误处理程序中定义的常量检查错误号。什么是最好的

练习检查调用例程中的错误代码?我是否正确使用错误处理

示例(或至少在正确的轨道上)?

提前致谢。

1 个答案:

答案 0 :(得分:3)

有一个聪明的(丑陋的?)技巧来模仿公共常量:改为使用公共枚举

Public Enum PseudoConst
  cmlngMYERROR = vbObjectError + 1001     
End Enum