Instruction Resume

Réinitialise les informations d'erreur et indique ce qui est exécuté ensuite.

Syntaxe :

Diagramme instruction Resume

Resume [ [0] | label | Next ]

Paramètres :

0: réinitialise les informations d'erreur et exécute à nouveau l'instruction qui a causé l'erreur. 0 est facultatif.

label: réinitialise les informations d'erreur et reprend l'exécution à l'étiquette spécifiée de la sous routine active.

Next: réinitialise les informations d'erreur et exécute l'instruction suivant celle qui a causé l'erreur.

Les informations d'erreur sont compilées avec les fonctions Erl, Err et Error$.

tip

L'utilisation de Resume pour réinitialiser les informations d'erreur empêche la propagation de la condition gérée aux routines d'appel.


Codes d'erreur :

20 reprendre sans erreur

Exemples :

Les routines de gestion des erreurs typiques sont les suivantes : alerter l'utilisateur, corriger l'erreur, consigner les informations sur les erreurs ou renvoyer des erreurs personnalisées qui fournissent des explications avec des instructions de résolution. Utilisez Resume label lorsque vous avez besoin de tels mécanismes.

Sub Error_Handling
try: On Error GoTo catch
    ' code de la routine ici
    Error 91 ' erreur exemple
finally:
    ' code nettoyé de la routine ici
    Exit Sub
catch:
    Print Erl, Err, Error$
    Resume finally
End Sub ' Error_Handling

Utilisez Resume Next, par exemple, lors du signalement d'anomalies rencontrées pour un processus d'itération qui ne doit pas être interrompu. Dans ce cas, plusieurs routines de gestion peuvent être nécessaires.

Sub Iteration
    planets = Array("☿","♀","♁","♂","♃","♄","⛢","♆")
try:
    On Error GoTo ReportAndProcessNext
    For ndx = -3 To 11 Step 1
        MsgBox planets(ndx)
    Next
    On Error GoTo 0 ' Stop error catching
finally:
    Exit Sub
ReportAndProcessNext:
    Print "Error "& Err &" at line "& Erl &" - "& Error$
    Resume Next
End Sub ' Iteration
warning

L'utilisation de Resume sans paramètres pour ré-exécuter l'instruction défectueuse peut s'adapter à certaines situations. Cependant, cela peut provoquer une boucle sans fin.


Aidez-nous !