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 fejlinformation og genoptager udførelsen ved 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

Med Resume uden parametre til at gen-udføre den fejlagtige instruktion kan passe i visse situationer. Det kan imidlertid forårsage en uendelig sløjfe.


Støt os venligst!