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

Please support us!