Інструкція On Error GoTo ... Resume

Вмикає процедуру обробки помилок після появи помилки або відновлює виконання програми.

Синтаксис:

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

Параметри:

GoTo Labelname: Якщо виникає помилка, включається процедура обробки помилок, яка починається з рядка "Labelname".

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