Instrukcja On Error GoTo ... Resume

Umożliwia obsługę błędów lub wznowienie wykonywania programu.

Składnia:

On {[Local] Error GoTo nazwa_etykiety | GoTo 0 | Resume Next}

Parametry:

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.

Przykład:

Sub ExampleReset

On Error GoTo ErrorHandler

Dim iNumber As Integer

Dim iCount As Integer

Dim sLine As String

Dim aFile As String

    aFile = "c:\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 zostana zamknięte",0,"Error"

End Sub