Pomoč Collabora Office 24.04
Ponastavi podatke o napaki in nakaže, kaj naj se naslednje izvrši.
Resume [ [0] | label | Next ]
0: ponastavi podatke o napaki in ponovno izvede ukaz, ki je povzročil napako. 0 je neobvezna.
oznaka: ponastavi podatke o napaki in izvede ukaz na dani oznaki.
Next: ponastavi podatke o napaki in izvede ukaz, ki sledi tistemu, ki je sprožil napako.
Podatki o napaki so izdelani s funkcijami Erl, Err in Error$.
Erl: številka vrstice modula, kjer pride do napake.
Err: številka napake.
Error[$]: opis napake.
Z Resume se ponastavijo podatki o napaki in prepreči razširjanje obravnavanega pogoja klicnim rutinam.
Tipični postopki obravnave napak so: opozarjanje uporabnika, odprava napake, beleženje podatkov o napaki ali ponovnim doseganjem napak po meri, ki ponujajo razlage z napotki za odpravo. Za tovrsten mehanizem uporabite oznako Resume.
Sub Error_Handling
try: On Error GoTo catch
' vaša koda podprograma sodi sem
Error 91 ' primer napake
finally:
' vaša koda čiščenja podprograma sodi sem
Exit Sub
catch:
Print Erl, Err, Error$
Resume finally
End Sub ' Error_Handling
Resume Next lahko uporabite, ko poročate o nepravilnostih v iterativnem procesu, ki ga ne želite prekiniti. V tem primeru so morda potrebni različni podprogrami za obravnavo.
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
Uporaba Resume brez parametrov za ponovno izvajanje okvarjenega ukaza je lahko ustrezna v določenih situacijah. Lahko pa povzroči tudi neskončno zanko.