You could always raise custom errors, though. At the very least, return a status from your methods that you could use.
VB Code:
  1. Public Function MyMethod( _
  2.     ByVal MyParam As Integer, _
  3.     Optional ByRef ErrRetVal As Long, _
  4.     Optional ByRef ErrRetSrc As String, _
  5.     Optional ByRef ErrRetDesc As String)
  6.  
  7.     On Error Goto err_MyMethod
  8.  
  9.     'If It's Something You don't like...
  10.     If MyParam = 17 Then
  11.         'Raise an Error (arbitrary number)
  12.         Err.Raise vbObjectError + 8080, , "I don't like this number"
  13.     End If
  14.  
  15. exit_MyMethod:
  16.     'Do cleanup if necessary
  17.     Exit Function
  18. err_MyMethod:
  19.     ErrRetVal = Err.Number
  20.     ErrRetSrc = Err.Source
  21.     ErrRetDesc = Err.Description
  22.     Resume exit_MyMethod
  23. End Function