Оператор Resume
Возобновляет выполнение после завершения подпрограммы обработки ошибок.
Мы рекомендуем использовать структурированную обработку исключений в коде по возможности, а не использовать неструктурированную обработку исключений и On Error
Resume
инструкции. Дополнительные сведения см. в разделе Оператор Try...Catch...Finally.
Синтаксис
Resume [ Next | line ]
Детали
Resume
Обязательный. Если ошибка произошла в той же процедуре, что и обработчик ошибок, выполнение возобновляется с инструкцией, вызвавшей ошибку. Если ошибка произошла в вызываемой процедуре, выполнение возобновляется в инструкции, которая в последний раз вызвала процедуру, содержащую подпрограмму обработки ошибок.
Next
Необязательно. Если ошибка произошла в той же процедуре, что и обработчик ошибок, выполнение возобновляется с инструкцией сразу после инструкции, вызвавшей ошибку. Если ошибка произошла в вызываемой процедуре, выполнение возобновляется с инструкцией сразу после инструкции, которая в последний раз вызвала процедуру, содержащую подпрограмму обработки ошибок (или On Error Resume Next
инструкцию).
line
Необязательно. Выполнение возобновляется в строке, указанной в требуемом line
аргументе. Аргумент line
является меткой строки или номером строки и должен находиться в той же процедуре, что и обработчик ошибок.
Замечания
Примечание.
Мы рекомендуем по возможности использовать структурированную обработку исключений в коде, а не использовать неструктурированную обработку исключений и On Error
Resume
инструкции. Дополнительные сведения см. в разделе Оператор Try...Catch...Finally.
Если вы используете инструкцию в любом месте, отличном Resume
от подпрограммы обработки ошибок, возникает ошибка.
Инструкцию Resume
нельзя использовать в любой процедуре, содержащей инструкцию Try...Catch...Finally
.
Пример
В этом примере оператор используется Resume
для завершения обработки ошибок в процедуре, а затем возобновляет выполнение с помощью инструкции, вызвавшей ошибку. Номер ошибки 55 создается для иллюстрации использования инструкции 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
Требования
Пространство имен: Microsoft.VisualBasic
Сборка: библиотека среды выполнения Visual Basic (в Microsoft.VisualBasic.dll)