Модул
Съдържание
Индекс 🔎︎

# Оператор 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