Pomoc LibreOffice 24.8
Umożliwia obsługę błędów lub wznowienie wykonywania programu.
  
On [Local] Error {GoTo Labelname | GoTo 0 | Resume Next}
GoTo nazwa_etykiety: W przypadku wystąpienia błędu umożliwia jego obsługę rozpoczynającą się od linii "nazwa_etykiety".
Resume Next: W przypadku wystąpienia błędu wykonywanie programu jest wznowione od instrukcji umieszczonej bezpośrednio za instrukcją, przy której wystąpił błąd.
GoTo 0: Wyłącza obsługę błędów w bieżącej procedurze.
Local: Instrukcja "On error" ma globalny zasięg i pozostaje aktywna do momentu jej anulowania przez inną instrukcję "On error". Instrukcja "On Local error" ma charakter lokalny w odniesieniu do procedury, która ją wywołuje. Lokalna obsługa błędów zastępuje wszelkie poprzednie ustawienia globalne. Jeśli istnieje procedura wywołująca, lokalna obsługa błędów zostaje automatycznie anulowana i przywracane są poprzednie ustawienia lokalne.
Wyrażenie On Error GoTo jest używane aby określić reakcję na błedy, które wystąpią w makrze.
Sub ExampleReset
On Error GoTo ErrorHandler
    Dim iNumber As Integer
    Dim iCount As Integer
    Dim sLine As String
    Dim aFile As String
    aFile = "C:\Users\ThisUser\data.txt"
    iNumber = Freefile
    Open aFile For Output As #iNumber
    Print #iNumber, "To jest linia tekstu"
    Close #iNumber
    iNumber = Freefile
    Open aFile For Input As iNumber
    For iCount = 1 To 5
        Line Input #iNumber, sLine
        If sLine <>"" Then
            Rem
        End If
    Next iCount
    Close #iNumber
    Exit Sub
ErrorHandler:
    Reset
    MsgBox "Wszystkie pliki zostaną zamknięte",  0,  "Error"
End Sub