On Error GoTo ... Resume Statement

рддреНрд░реБрдЯрд┐ рдЖрдПрдкрдЫрд┐ рддреНрд░реБрдЯрд┐-рд╣реНрдпрд╛рдиреНрдбреЗрд▓рд┐рдЩ рдХрд╛рд░реНрдпрддрд╛рд▓рд┐рдХрд╛ рд╕рдХреНрд╖рдо рд╣реБрдиреНрдЫ, рд╡рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓рд╛рдИ рдкреБрди: рдирд┐рд░рдиреНрддрд░рддрд╛ рджрд┐рдиреНрдЫ ред

рд╡рд╛рдХреНрдп рд╕рдВрд░рдЪрдирд╛:


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

рдкрд░рд╛рдорд┐рддрд┐рд╣рд░реВ:

,рдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН рд▓реЗрдмреБрд▓ рдирд╛рдо:рдпрджрд┐ рддреНрд░реБрдЯрд┐ рдЖрдПрдХреЛ рдЦрдгреНрдбрдорд╛, рдпреЛ рд░реЗрдЦрд╛ "рд▓реЗрдмреБрд▓ рдирд╛рдо"рдорд╛ рд╕реБрд░реБ рдЧрд░реНрдиреЗ рддреНрд░реБрдЯрд┐ рд╣реНрдпрд╛рдиреНрдбреЗрд▓рд┐рдЩ рдХрд╛рд░реНрдпрддрд╛рд▓рд┐рдХрд╛ рд╕рдХреНрд╖рдо рдЧрд░рд╛рдЙрдиреБрд╣реЛрд╕реН ред

рдЕрд░реНрдХреЛ рдкреБрди: рдирд┐рд░рдиреНрддрд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН:рдпрджрд┐ рддреНрд░реБрдЯрд┐ рдЖрдПрдХреЛ рдЦрдгреНрдбрдорд╛, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рди рдХрдерди рд╕рдБрдЧ рдЬрд╛рд░реА рд░рд╛рдЦреНрджрдЫ рдЬрд╕рд▓реЗ рддреНрд░реБрдЯрд┐ рднрдПрдХреЛ рдХрдердирд▓рд╛рдИ рдЕрдиреБрд╢рд░рдг рдЧрд░реНрджрдЫ ред

0 рдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН: рд╣рд╛рд▓рдХреЛ рдХрд╛рд░реНрдпрд╡рд┐рдзреАрдорд╛ рддреНрд░реБрдЯрд┐ рд╣реНрдпрд╛рдгреНрдбрд▓рд░ рдЕрд╕рдХреНрд╖рдо рдкрд╛рд░реНрджрдЫ ред

Local: "On error" is global in scope, and remains active until canceled by another "On error" statement. "On Local error" is local to the routine which invokes it. Local error handling overrides any previous global setting. When the invoking routine exits, the local error handling is canceled automatically, and any previous global setting is restored.

The On Error GoTo statement is used to react to errors that occur in a macro.

рдЙрджрд╛рд╣рд░рдг:


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
    #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
    рд╕рдиреНрджреЗрд╢ рдмрд╛рдХрд╕ "рд╕рдмреИ рдлрд╛рдЗрд▓рд╣рд░реВ рдмрдиреНрдж рдЧрд░рд┐рдиреЗрдЫ",реж,"рддреНрд░реБрдЯрд┐"
End Sub