Udtrykket Genoptag

Indhold
Indholdsfortegnelse 🔎︎

# udtrykket Resume

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

### Syntaks:

         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$.

- Erl: Modulets linjenummer, hvor fejlen skete.

- Err: Fejlnummer.

- Error[$]: Fejlbeskrivelse.

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

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.