Nápověda LibreOffice 25.2
Vymaže informaci o chybě a určí, co se má spustit jako další.
     Resume [ [0] | label | Next ]
   0: Vymaže informaci o chybě a znovu spustí instrukci, která chybu způsobila. Hodnota 0 je nepovinná.
label: Vymaže informaci o chybě a spustí aktuální podprogram od určeného návěstí.
Next: Vymaže informaci o chybě a spustí další instrukci následující po té, která chybu způsobila.
Informace o chybě je vytvořena pomocí funkcí Erl, Err a Error$.
Erl: Číslo řádku modulu, na němž byla chyba vyvolána.
Err: Číslo chyby.
Error[$]: Popis chyby.
Vymazání informace o chybě pomocí Resume zabrání tomu, aby se ošetřovaná podmínka propagovala do procedur, které ji zavolaly.
Typickými procedurami pro zpracování chyb mohou být: upozornění uživatele, oprava chybu, záznam informací o chybě nebo vyvolání nové, vlastní chyby, která bude obsahovat vysvětlení a postup řešení. Pro takové případy použijte tvar Resume label.
      Sub Error_Handling
      try: On Error GoTo catch
          ' místo pro kód procedury
          Error 91 ' ukázková chyba
      finally:
          ' místo pro kód se závěrečným úklidem
          Exit Sub
      catch:
          Print Erl, Err, Error$
          Resume finally
      End Sub ' Error_Handling
    Resume Next použijte například tehdy, když popisujete nesrovnalosti objevené během iterování, které nelze přerušit. V tom případě může být pro zpracování vyžadováno několik procedur.
      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
    Resume bez parametrů použijte tehdy, chcete-li znovu spustit instrukci, která chybu způsobila. To však může způsobit nekonečnou smyčku.