Aide Collabora Office 24.04
Réinitialise les informations d'erreur et indique ce qui est exécuté ensuite.
Resume [ [0] | label | Next ]
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$.
Erl: numĂ©ro de ligne du module oĂč l'erreur se produit.
Err: numéro de l'erreur
Error[$]: description de l'erreur.
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.
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
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.