Поделиться через


Инструкция Resume

Обновлен: Ноябрь 2007

Возобновляет выполнение по окончании процедуры обработки ошибки.

Resume [ Next | line ]

Компоненты

  • Resume
    Необходим. Если ошибка произошла в той же процедуре, в которой находится обработчик ошибок, то выполнение возобновляется с оператора, который вызвал ошибку. Если ошибка возникла в вызываемой процедуре, то выполнение возобновляется с оператора, который последним вызвал процедуру, содержащую обработчик ошибок.

  • Next
    Необязательный компонент. Если ошибка возникла в той же процедуре, в которой находится обработчик ошибок, то выполнение возобновляется с оператора, непосредственно следующего за оператором, вызвавшим ошибку. Если ошибка возникла в вызываемой процедуре, то выполнение возобновляется с оператора, непосредственно следующего за оператором, который последним вызвал процедуру, содержащую обработчик ошибок (или оператор On Error Resume Next).

  • line
    Необязательный компонент. Выполнение возобновляется со строки, указанной в аргументе line. Аргумент line является меткой или номером строки, которая должна находиться в той же процедуре, что и обработчик ошибок.

Заметки

Если оператор 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)

См. также

Ссылки

Оператор Try... Catch... Finally (Visual Basic)

Оператор Error

Оператор On Error (Visual Basic)