Ukaz Resume

Ponastavi podatke o napaki in nakaže, kaj naj se naslednje izvrši.

Skladnja:

Diagram ukaza Resume

Resume [ [0] | label | Next ]

Parametri:

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

tip

Z Resume se ponastavijo podatki o napaki in prepreči razširjanje obravnavanega pogoja klicnim rutinam.


Kode napak:

20 Nadaljuj brez napake

Primeri:

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
warning

Uporaba Resume brez parametrov za ponovno izvajanje okvarjenega ukaza je lahko ustrezna v določenih situacijah. Lahko pa povzroči tudi neskončno zanko.


Podprite nas!