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!