The following is an example to handle errors in VB. It combines "On Error
GoTo" and "On Error Resume Next" to handle all errors (minor or
serious ones), as well as attempting to correct errors. It is very similar
to the "Try {} Catch {}" structure. For very obvious errors, you may not need
this long and completed handling. Modify it accordingly.
Function MyFunc() As Boolean
Dim bResult As Boolean
On Error GoTo EHandler
' your codes
EHandler:
Dim iResponse As Integer, lErr As Long
Dim szErrSource As String, szErrDesc As String
lErr = Err.Number
If lErr <> 0 Then
bResult = False
' You may modify following 2 lines to append
' detail information to error description & source.
szErrDesc = Err.Description
szsrouce = Err.Source
' Define function ErrCatch to handle error or
' prompt user the information or
' let user to make decision.
iResponse = ErrCatch(lErr, szErrDesc, szErrSource)
Select Case iResponse
Case 0 'Resume or retry error code
Resume
Case 1 'Resume Next or continue to next code
Resume Next
Case 2 'Failure or give-up this function call
Case Else 'Raise error or stop my application
' cleanup
If App.StartMode = vbSModeStandalone Then
' End app
Else ' Automation mode
' Define your error numver, ie, 500, or
' to get it from ErrCatch
Err.Raise vbObjectError + 500, szErrSource, szErrDesc
End If
End Select
End If
MyFunc = bResult
End Function