Pomoc LibreOffice 24.8
Resetuje informacje o błędach i wskazuje, co należy wykonać dalej.
     Resume [ [0] | label | Next ]
   0: Resetuje informacje o błędzie i ponownie wykonuje instrukcję, która spowodowała błąd. 0 jest opcjonalne.
label: Resetuje informacje o błędzie i wznawia wykonywanie pod określoną etykietą bieżącego podprogramu.
Next: Resetuje informacje o błędzie i wykonuje instrukcję następującą po tej, która spowodowała błąd.
Informacje o błędach są tworzone za pomocą funkcji Erl, Err i Error$.
Erl: Numer wiersza modułu, w którym wystąpił błąd.
Err: Numer błędu.
Error[$]: Opis błędu.
Korzystanie z Resume do resetowania informacji o błędach zapobiega propagacji obsłużonego warunku do procedur wywołujących.
Typowe procedury obsługi błędów to: ostrzeganie użytkownika, naprawianie błędu, rejestrowanie informacji o błędzie lub ponowne zgłaszanie błędów niestandardowych, które zawierają wyjaśnienia wraz z instrukcjami rozwiązania. Użyj Resume label, gdy wymagasz takich mechanizmów.
      Sub Error_Handling
      try: On Error GoTo catch
          ' miejsce na kod procedury
          Error 91 ' przykładowy błąd
      finally:
          ' miejsce na kod z końcowym czyszczeniem
          Exit Sub
      catch:
          Print Erl, Err, Error$
          Resume finally
      End Sub ' Error_Handling
    Użyj Resume Next na przykład podczas zgłaszania napotkanych anomalii w procesie iteracyjnym, którego nie wolno przerywać. W takim przypadku może być wymagane wiele procedur obsługi.
      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
    Użycie Resume bez parametrów do ponownego wykonania błędnej instrukcji może pasować do pewnych sytuacji. Jednak może to spowodować niekończącą się pętlę.