Съдържание

# Оператор 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:\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 "Всички файлове ще бъдат затворени", 0, "Грешка"
    End Sub

Теми, свързани с показаната

Функции за обработка на грешки

Оператор Open