Оператор 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)

См. также