Description
Resumes execution after an error-handling routine is finished.
Syntax
Resume [0]
Resume Next
Resume line
The Resume statement syntax can have any of the following forms:
Statement |
Description |
Resume [0] |
If the error occurred in the same procedure as the error handler, execution resumes with the one that caused the error. If the error occurred in another procedure, execution resumes at the statement that last called out of the procedure containing the error-handling routine. |
Resume Next |
If the error occurred in the same procedure as the error handler, execution resumes with the statement immediately following the statement that caused the error. If the error occurred in another procedure, execution resumes with the statement immediately following the statement that last called out of the procedure containing the error-handling routine. |
Resume line |
Execution resumes at line, which is a line label or line number. The argument line must be in the same procedure as the error handler. |
Remarks
If you use a Resume statement anywhere except in an error-handling routine, an error occurs.
When an error-handling routine is active and the end of the procedure (an End Sub, End Function, or End Property statement) is encountered before a Resume statement is encountered, an error occurs because a logical error is presumed to have been made inadvertently. However, if an Exit Sub, Exit Function, or Exit Property statement is encountered while an error handler is active, no error occurs because it is considered a deliberate redirection of execution.
See Also
On Error Statement.
Example
This example uses the Resume statement to end error handling in a procedure and resume execution with the statement that caused the error. Error number 55 is generated to illustrate its usage.
Sub ResumeStatementDemo() On Error GoTo ErrorHandler ' Enable error-handling routine. Open "TESTFILE" For Output As #1 ' Open file for output. Kill "TESTFILE" ' Attempt to delete open file. Exit Sub ' Exit Sub before error handler. ErrorHandler: ' Error-handling routine. Select Case Err ' Evaluate Error Number. Case 55 ' "File already open" error. Close #1 ' Close open file. Case Else ' Handle other situations here... End Select Resume ' Resume execution at same line ' that caused the error. End Sub