Modulo
Contenuto
Indice 🔎︎

# 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