LibreOfficeDev 25.8 žinynas
Atstatoma klaidos informacija ir nurodoma, ką reikia atlikti toliau.
     Resume [ [0] | label | Next ]
   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$.
Erl: Modulio eilutės numeris, kur įvyko klaida.
Err: Klaidos numeris.
Error[$]: Klaidos aprašas.
Naudojant Tęsti klaidos informacijai, užkertamas kelias valdomai sąlygai kreiptis į paprogrames.
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
    Naudojant Tęsti be parametrų, norint iš naujo įvykdyti klaidingą instrukciją, gali tikti tam tikros situacijos. Tačiau tai gali sukelti amžiną ciklą.