Instruction On Error GoTo ... Resume

Active une routine de gestion des erreurs suite à une erreur, ou reprend l'exécution du programme.

Syntaxe :

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

Paramètres :

GoTo Labelname : si une erreur se produit, active la routine de gestion des erreurs à partir de la ligne "Labelname".

Resume Next : si une erreur se produit, le programme continue en exécutant l'instruction qui suit l'instruction dans laquelle l'erreur s'est produite.

GoTo 0 : désactive le gestionnaire d'erreur dans la procédure active.

Locale : "On error" est de portée global et reste actif jusqu'à ce qu'il soit annulé par une autre instruction "On error". "On local error" est local à la routine qui l'invoque. La gestion de l'erreur locale écrase le paramètre global précédent. Lorsque la routine invoquée existe, la gestion de l'erreur locale est annulée automatiquement et tout paramètre global précédent est restauré.

L'instruction On Error GoTo est utilise pour réagir aux erreurs qui surviennent dans une macro.

Exemple :

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, "Ceci est une ligne de texte."

    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 "Tous les fichiers seront fermés.",0,"Erreur"

End Sub