Resume Statement |
Resume [0] Resume Next Resume label
Used to continue program execution when an error-handling routine is complete
Resume can take any of the forms shown in the following table:
Statement | Description |
---|---|
Resume | If the error-handling routine is in the same procedure as the statement that caused the error, program execution continues with the statement that caused the error. If the error occurred in an external procedure called by the procedure containing the error handler, program execution continues with the statement in the procedure containing the error handler that last called the external procedure. |
Resume Next | If the error-handling routine is in the same procedure as the statement that caused the error, program execution continues with the statement following the statement that caused the error. If the error occurred in an external procedure called by the procedure containing the error handler, program execution continues with the statement containing the error handler immediately following the statement that last called the external procedure. |
Resume label | label must be in the same procedure as the error handler. Program execution continues at the specified label. |
You can only use the Resume statement in an error-handling routine; otherwise , a runtime error will be generated.
An error-handling routine does not necessarily have to contain a Resume statement. If the error-handling routine is at the end of the procedure and the result of the error handling would be to exit the procedure, you can simply allow the program to execute the End Sub or End Function statement. This has the effect of both resetting the Err object and exiting the procedure. This is shown in the following simple code snippet:
Private Sub DoSomething( ) On Error GoTo DoSomething_Err ... DoSomething_Err: MsgBox(Err.Description) End Sub
On Error Statement, Err Object