On Error GoTo ... Resume Statement

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

Синтаксис:

On Error Statement diagram


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:\Users\ThisUser\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 "All files will be closed",  0,  "Error"
End Sub

Пожалуйста, поддержите нас!