Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Home » Tip Bank » C++ » Coding
Language: Visual Basic
Expertise: Intermediate
Sep 29, 2000

Error Handling and Corrections

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
Davis Chu
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap