On Error GoTo ... Resume Statement

Включает процедуру обработки ошибок после появления ошибки или возобновляет выполнение программы.

Синтаксис

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

Параметры:

GoTo Метка_строки. Если возникает ошибка, включается процедура обработки ошибок, которая начинается со строки "Метка_строки".

Resume Next. Если возникает ошибка, выполнение программы продолжается с инструкции, следующей за инструкцией, в которой эта ошибка возникла.

GoTo 0: отключает обработчик ошибок в текущей процедуре.

Local: "On error" по контексту является глобальным и остаётся активным до отмены другим оператором "On error". "On Local error" является локальным для программы, вызвавшей этот элемент. Локальная обработка ошибок переопределяет все ранее установленные глобальные параметры. При завершении работы вызывающей программы локальная обработка ошибок отключается автоматически, а установленные ранее глобальные параметры восстанавливаются.

Инструкция On Error GoTo используется для реагирования на ошибки возникающие в макросе.

Пример:

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, "Это строка текста"

    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 "Все файлы будут закрыты",0,"Ошибка"

End Sub