Módulo
Conteúdo
Índice 🔎︎

# On Error GoTo ... Resume Statement

Ativa a rotina para tratamento de erros depois de ocorrer um erro, ou retoma a execução do programa.

## Sintaxe:

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

## Parâmetros:

GoTo Labelname: Se ocorrer um erro, ativa a rotina para tratamento de erros que começa na linha "Labelname".

Resume Next: se ocorrer um erro, a execução do programa continua com a instrução que se segue à instrução na qual ocorreu o erro.

GoTo 0: desativa o processador do erro no processo atual.

Local: "On error" tem um âmbito global, e permanece ativo até ser cancelado por outra declaração "On error". "On Local error" tem um âmbito local da rotina que o invoca. O processamento de erros locais substitui todas as definições globais anteriores. Quando é encerrada a rotina invocada, o processamento de erro local é automaticamente cancelado e a definição global anterior é reposta.

A instrução On Error GoTo é usada para reagir a erros que ocorrem numa macro.

## Exemplo:

    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, "Esta é uma linha do texto"

        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 "Todos os ficheiros serão fechados",0,"Erro"

    End Sub