Atstatyti sakinį

Atstatoma klaidos informacija ir nurodoma, ką reikia atlikti toliau.

Sintaksė:

Atstatymo sakinio diagrama


     Resume [ [0] | label | Next ]
   

Parametrai:

0: Iš naujo nustatoma klaidos informacija ir vykdoma instrukcija, sukėlusi klaidą. 0 yra pasirinktinis.

žymė: Atstatoma klaidos informacija ir atnaujinamas vykdymas nurodytoje dabartinio paprogramės etiketėje.

Toliau: Iš naujo nustato klaidos informaciją ir vykdo nurodymą pagal tai, kas sukėlė klaidą.

Klaidos informacija remiasi funkcijomis Erl, Err ir Error$.

tip

Naudojant Tęsti klaidos informacijai, užkertamas kelias valdomai sąlygai kreiptis į paprogrames.


Klaidos kodai:

20 Operatorius „resume“ neapdoroja klaidos

Pavyzdžiai:

Tipiškos klaidų tvarkymo procedūros: įspėti vartotoją, ištaisyti klaidą, registruoti klaidų informaciją arba priimti vartotojo atmestas klaidas, kurios pateikia paaiškinimus su sprendimo instrukcijomis. Jei reikia tokių mechanizmų, naudokite Atnaujinti etiketę.


      Sub Error_Handling
      try: On Error GoTo catch
          ' paprogramės kodas eina čia
          Error 91 ' pavyzdžio klaida
      finally:
          ' paprogramės šalinimo kodas eina čia
          Exit Sub
      catch:
          Print Erl, Err, Error$
          Resume finally
      End Sub ' Error_Handling
    

Pavyzdžiui, naudokite Toliau tęsti, jei pranešate apie pakartojimus, kurių pasitaikė iteraciniame procese, kurio negalima nutraukti. Tokiu atveju gali prireikti paprogrames apdoroti keletą kartų.


      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

Naudojant Tęsti be parametrų, norint iš naujo įvykdyti klaidingą instrukciją, gali tikti tam tikros situacijos. Tačiau tai gali sukelti amžiną ciklą.


Paremkite mus!