udtrykket Resume

Nulstiller fejl-information og viser, hvad der skal udføres som det næste.

Syntaks:

diagram over udtrykket Resume


     Resume [ [0] | label | Next ]
   

Parametre:

0: Nulstiller fejlinformation og genudfører den instruktion, der gav fejlen. 0 is optional.

label: Nulstiller fejlinformationen og genoptager udførslen fra den angivne etiket i den aktuelle subrutine.

Next Nulstiller fejlinformation og udfører den instruktion, der følger den, der gav fejlen.

Fejlinformation er bygget med funktionerne Erl, Err og Error$.

tip

Anvendelse af Resume til at nulstille fejlinformation forebygger, at den håndterede tilstand breder sig til kald af rutiner.


Fejlkoder:

20 Resume uden fejl

Eksempler:

Typiske fejlhåndteringsrutiner er: at alarmere brugeren, at fikse fejlen, at logge fejlinformation eller igen at kaste tilpassede fejl, der leverer forklaringer med instruktioner til løsning. Brug etiketten Resume, når du har brug for den slags mekanismer.


      Sub Error_Handling
      try: On Error GoTo catch
          ' rutinekode skrives her
          Error 91 ' eksempelfejl
      finally:
          ' rutinerengøringskode skrives her
          Exit Sub
      catch:
          Print Erl, Err, Error$
          Resume finally
      End Sub ' Error_Handling
    

Brug for eksempel Resume Next, når du rapporterer anomalier, du er stødt på i en gentagen proces, som ikke må afbrydes. I det tilfælde kan det blive nødvendigt med flere håndteringsrutiner.


      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

Brug af Resume uden parametre til at genudføre den fejlbehæftede instruktion kan passe til visse situationer. Dette kan dog medføre en uendelig sløjfe.