LibreOffice 24.8 Hjelp
Tilbakestiller feilinformasjonen og indikerer kva som skal utførast som det neste.
Resume [ [0] | label | Next ]
0: Tilbakestiller feilinformasjonen og utfører instruksjonen som var årsaka til feilen på nytt. 0 er valfritt.
label: Tilbakestiller feilinformasjonen og utfører instruksjonen ved den gjevne merkelappen i den gjeldande subrutinen.
Next: Tilbakestiller feilinformasjonen og utfører instruksjonen som kjem etter den som var årsaka til feilen.
Feilinformasjonen er bygd med funksjonane Erl, Err og Error$.
Erl: Modullinjenummeret der feilen er.
Err: Feilnummeret.
Error[$]: Feilomtale.
Ved å bruka Resume for å tilbakestilla feilinformasjonen, hindrar du at den handsama tilstanden breier seg til oppkall av rutinar.
Typiske feilhandlingar er å varsla brukaren, reparera feilen, loggføra feilinformasjonen eller å forkasta tilpassa feil som inneheld forklaringar om korleis løysa problemet. Bruk etiketten Resume når du har bruk for slike mekanismar.
Sub Error_Handling
try: On Error GoTo catch
' her kjem rutinekoden
Error 91 ' eksempelfeil
finally:
' her kjem koden for å rydde rutinen
Exit Sub
catch:
Print Erl, Err, Error$
Resume finally
End Sub ' Error_Handling
Bruk for eksempel Resume Next når du rapporterer avvik som oppstår for ein gjentakande prosess som ikkje må avbrytast. I så fall kan det vera nødvendig med fleire handsamingsrutinar.
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
I nokre situasjonar kan det passa å bruka Resume utan parametrar for å køyra instruksjonen som inneheld feil. Det kan også føra til ei uendeleg sløyfe.