다음을 통해 공유


Resume 문

오류 처리 루틴이 완료된 후 실행을 다시 시작합니다.

구조화되지 않은 예외 처리와 On ErrorResume 문을 사용하는 대신 가능하면 코드에서 구조적 예외 처리를 사용하는 것이 좋습니다. 자세한 내용은 Try...Catch...Finally 문을 참조하세요.

구문

Resume [ Next | line ]  

부분

Resume
필수입니다. 오류 처리기와 동일한 프로시저에서 오류가 발생한 경우 오류를 발생시킨 문으로 실행이 다시 시작됩니다. 호출된 프로시저에서 오류가 발생한 경우 오류 처리 루틴이 포함된 프로시저를 마지막으로 호출한 문에서 실행이 다시 시작됩니다.

Next
선택 사항. 오류 처리기와 동일한 프로시저에서 오류가 발생한 경우 오류를 발생시킨 문 바로 다음 문으로 실행이 다시 시작됩니다. 호출된 프로시저에서 오류가 발생한 경우 오류 처리 루틴(또는 On Error Resume Next 문)이 포함된 프로시저에서 마지막으로 호출한 문 바로 다음 문으로 실행이 다시 시작됩니다.

line
선택 사항. 필수 line 인수에 지정된 줄에서 실행이 다시 시작됩니다. line 인수는 줄 레이블 또는 줄 번호이며 오류 처리기와 동일한 프로시저에 있어야 합니다.

설명

참고 항목

구조화되지 않은 예외 처리와 On ErrorResume 문을 사용하는 대신 가능하면 코드에서 구조적 예외 처리를 사용하는 것이 좋습니다. 자세한 내용은 Try...Catch...Finally 문을 참조하세요.

오류 처리 루틴이 아닌 다른 곳에서 Resume 문을 사용하면 오류가 발생합니다.

Resume 문은 Try...Catch...Finally 문이 포함된 프로시저에서 사용할 수 없습니다.

예시

이 예에서는 Resume 문을 사용하여 프로시저의 오류 처리를 종료한 다음 오류를 발생시킨 문으로 실행을 다시 시작합니다. Resume 문 사용을 문하기 위해 오류 번호 55가 생성됩니다.

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)

참고 항목