Instrução Resume
Retoma a execução depois que uma rotina de tratamento de erros é concluída.
Sugerimos que você use o tratamento de exceção estruturado em seu código sempre que possível, em vez de usar o tratamento de exceção não estruturado e as instruções On Error
e Resume
. Para obter mais informações, consulte Instrução Try...Catch...Finally.
Sintaxe
Resume [ Next | line ]
Partes
Resume
Obrigatórios. Se o erro ocorreu no mesmo procedimento que o manipulador de erros, a execução será retomada com a instrução que causou o erro. Se o erro ocorreu em um procedimento chamado, a execução será retomada na instrução que foi chamada pela última vez para fora do procedimento que contém a rotina de tratamento de erros.
Next
Opcional. Se o erro ocorreu no mesmo procedimento que o manipulador de erros, a execução será retomada com a instrução que segue imediatamente a instrução que causou o erro. Se o erro ocorreu em um procedimento chamado, a execução será retomada na instrução que segue imediatamente a instrução que foi chamada pela última vez para fora do procedimento que contém a rotina de tratamento de erros (ou a instrução On Error Resume Next
).
line
Opcional. A execução é retomada na linha especificada no argumento line
exigido. O argumento line
é um rótulo de linha ou número de linha e deve estar no mesmo procedimento que o manipulador de erros.
Comentários
Observação
Recomendamos que você use o tratamento de exceção estruturado em seu código sempre que possível, em vez de usar o tratamento de exceção não estruturado e as instruções On Error
e Resume
. Para obter mais informações, consulte Instrução Try...Catch...Finally.
Se você usar uma instrução Resume
em qualquer lugar diferente de uma rotina de tratamento de erros, ocorrerá um erro.
A instrução Resume
não pode ser usada em nenhum procedimento que contenha uma instrução Try...Catch...Finally
.
Exemplo
Este exemplo usa a instrução Resume
para encerrar o tratamento de erros em um procedimento e, em seguida, retomar a execução com a instrução que causou o erro. O erro número 55 é gerado para ilustrar o uso da instrução Resume
.
Sub ResumeStatementDemo()
On Error GoTo ErrorHandler ' Enable error-handling routine.
Dim x As Integer = 32
Dim y As Integer = 0
Dim z As Integer
z = x / y ' Creates a divide by zero error
Exit Sub ' Exit Sub to avoid error handler.
ErrorHandler: ' Error-handling routine.
Select Case Err.Number ' Evaluate error number.
Case 6 ' "Divide by zero" error.
y = 1 ' Sets the value of y to 1 and tries the calculation again.
Case Else
' Handle other situations here....
End Select
Resume ' Resume execution at same line
' that caused the error.
End Sub
Requisitos
Namespace: Microsoft.VisualBasic
Assembly: Biblioteca de Tempo de Execução do Visual Basic (em Microsoft.VisualBasic.dll)