Istruzione On Error GoTo ... Resume

Quando si verifica un errore, abilita una routine di gestione degli errori oppure riprende l'esecuzione del programma.

Sintassi:


On {[Local] Error GoTo Labelname | GoTo 0 | Resume Next}

Parametri:

GoTo Labelname (Nomeetichetta): se si verifica un errore, abilita la routine di gestione degli errori che inizia alla riga "Labelname".

Resume Next: se si verifica un errore, l'esecuzione del programma continua con l'istruzione successiva a quella in cui si è verificato l'errore.

GoTo 0: disabilita la routine di gestione degli errori nella procedura in corso.

Local: "On error" ha portata globale e rimane attivo fino a che non viene cancellato da un'altra dichiarazione "On error". "On Local error" è locale rispetto alla routine che lo invoca. La routine di gestione degli errori prevale su ogni altra impostazione globale. Quando la routine che la invoca termina, la gestione degli errori locale viene cancellata automaticamente e vengono ripristinate le precedenti impostazioni globali.

L'istruzione On Error GoTo viene usata per reagire agli errori che si verificano in una macro.

Esempio:


Sub ExampleReset
On Error GoTo ErrorHandler
Dim iNumber As Integer
Dim iCount As Integer
Dim sLine As String
Dim aFile As String
    aFile = "c:\data.txt"
    iNumber = Freefile
    Open aFile For Output As #iNumber
    Print #iNumber, "Questa è una riga di testo"
    Close #iNumber
    iNumber = Freefile
    Open aFile For Input As iNumber
    For iCount = 1 To 5
        Line Input #iNumber, sLine
        If sLine <>"" Then
            Rem
        End If
    Next iCount
    Close #iNumber
    Exit Sub
ErrorHandler:
    Reset
    MsgBox "Tutti i file verranno chiusi",0,"Errore"
End Sub

Sosteneteci!