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 !