Istruzione Resume

Reimposta le informazioni sull'errore e indica l'istruzione successiva da eseguire.

Sintassi:

Diagramma istruzione Resume


     Resume [ [0] | label | Next ]
   

Parametri:

0: reimposta le informazioni sull'errore ed esegue nuovamente l'istruzione che ha causato l'errore. 0 è opzionale.

label: reimposta le informazioni sull'errore e riprende l'esecuzione dall'etichetta (label) specificata della subroutine corrente.

Next: reimposta le informazioni sull'errore ed esegue le istruzioni successive a quella che ha causato l'errore.

Le informazioni sull'errore vengono costruite con le funzioni Erl, Err e Error$.

tip

L'uso di Resume per reimpostare le informazioni sull'errore impedisce che la propagazione della condizione gestita richiami delle routine.


Codici di errore:

20 Resume senza errori

Esempi:

Tipiche routine di gestione dell'errore sono: avvertimento dell'utente, correzione dell'errore, registrazione delle informazioni dell'errore o rilancio di errori personalizzati che forniscano delle spiegazioni contenenti delle istruzioni per la risoluzione. Usate Resume label nei casi in cui sono necessari questi meccanismi.


      Sub Error_Handling
      try: On Error GoTo catch
          ' il codice della routine va inserito qui
          Error 91 ' esempio di errore
      finally:
          ' il codice di pulizia della routine va inserito qui
          Exit Sub
      catch:
          Print Erl, Err, Error$
          Resume finally
      End Sub ' Error_Handling
    

Usate Resume Next, ad esempio, quando segnalate anomalie riscontrate in un processo di iterazione che non deve essere interrotto. Per gestire questi casi, possono essere necessarie diverse routine.


      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'uso di Resume senza parametri per eseguire nuovamente l'istruzione fallace, può risolvere determinate situazioni. Questo però può portare a dei cicli infiniti.


Sosteneteci!