Gestione degli errori in VB6

Applicazioni desktop con Visual Basic 6
Impara a creare applicazioni gestionali col Visual Basic

Scritto da Luca Ruggiero nella sezione Visual Basic

Concesso in esclusiva a MrWebmaster.it - E' vietata la pubblicazione senza espresso consenso del proprietario

Come ogni linguaggio di programmazione anche il Visual Basic possiede un sistema di gestione degli errori, ovvero un sistema di controllo che evita che uno script (o meglio una routine), qualora dovesse andare in errore non per colpa dello sviluppatore ma per eventi legati al tempo o ad esplicite azioni degli utilizzatori di un programma, restituisca un errore gestito e non un errore generico in fase di esecuzione, cosa poco elegante e per nulla professionale.

In VB esistono due diversi sistemi per la gestione degli errori, entrambi implementati con la dichiarazione On Error seguita in un caso da Resume Next e nell'altro da GoTo; nel primo caso si specifica che un errore venga by-passato ed il programma va avanti senza badare al problema verificatosi; nel secondo caso la routine si interrompe e va al punto specificato.

Vediamo un esempio sintattico dell'enunciato On Error Resume Next

On Error Resume Next

' RIGA CHE GENERA UN ERRORE

If Err.Number <> 0 Then
    ' GESTIONE DELL'ERRORE
End If
Vediamo adesso un esempio pratico in cui si implementa una divisione per zero che in matematica genera errore. Si crei un progetto di esempio e si apra un nuovo EXE standard in cui posizionare una Label da chiamare msg:
Private Sub Form_Load()
    On Error Resume Next
    msg.Caption = 1 / 0
    If Err.Number <> 0 Then
        msg.Caption = "Impossibile dividere un numero per zero"
    End If
End Sub
Vediamo adesso un esempio sintattico dell'enunciato On Error GoTo
On Error GoTo ERRORE

' RIGA CHE GENERA UN ERRORE

ERRORE:
    ' GESTIONE DELL'ERRORE
In pratica la gestione rimanda il programma ad un'eccezione che possiamo chiamare come vogliamo (seguendo le regole di nomina delle variabili).

Vediamo un esempio pratico, sempre implementando il caso di una divisione per zero:
Private Sub Form_Load()
    On Error GoTo ERRORE
    msg.Caption = 1 / 0
ERRORE:
    msg.Caption = "Impossibile dividere un numero per zero"
End Sub

I più cliccati della sezione Visual Basic

:: Guida a Visual Basic 6 (177.016)

:: Una rubrica in VB e Ms Access (98.026)

:: Richiamare una form da un'altra form in Visual Basic (24.158)

:: Una semplice calcolatrice in VB 6 (22.245)

:: Interazione tra Visual Basic ed MS Excel (22.212)

:: Leggere un file Xml col DOM in VB 6 (21.736)

:: Inviare email con CDO in Visual Basic 6 (21.308)

:: Un visualizzatore di immagini in VB 6 (14.301)

:: Un semplice sistema di Login in VB 6 (12.579)

:: Scrivere un file MS Word in VB6 (12.473)

IN EVIDENZA
DOWNLOAD