Freigeben über


Resume-Anweisung

Setzt die Ausführung nach Abschluss einer Fehlerbehandlungsroutine fort.

Es wird empfohlen, in Ihrem Code nach Möglichkeit eine strukturierte Ausnahmebehandlung durchzuführen, anstatt eine unstrukturierte Ausnahmebehandlung und die On Error- und Resume-Anweisungen zu verwenden. Weitere Informationen finden Sie unter Try...Catch...Finally-Anweisung.

Syntax

Resume [ Next | line ]  

Bestandteile

Resume
Erforderlich. Wenn der Fehler in derselben Prozedur wie der Fehlerhandler aufgetreten ist, wird die Ausführung mit der Anweisung fortgesetzt, die den Fehler verursacht hat. Wenn der Fehler in einer aufgerufenen Prozedur aufgetreten ist, wird die Ausführung an der Anweisung fortgesetzt, die zuletzt aus der Prozedur aufgerufen wurde, die die Fehlerbehandlungsroutine enthält.

Next
Optional. Wenn der Fehler in derselben Prozedur wie der Fehlerhandler aufgetreten ist, wird die Ausführung mit der Anweisung direkt nach jener Anweisung fortgesetzt, die den Fehler verursacht hat. Wenn der Fehler in einer aufgerufenen Prozedur aufgetreten ist, wird die Ausführung mit der Anweisung direkt nach jener Anweisung fortgesetzt, die zuletzt aus der Prozedur aufgerufen wurde, die die Fehlerbehandlungsroutine (oder On Error Resume Next-Anweisung) enthält.

line
Optional. Die Ausführung wird mit der im erforderlichen line-Argument angegebenen Zeile fortgesetzt. Das line-Argument ist eine Zeilenbezeichnung oder Zeilennummer und muss sich in derselben Prozedur wie der Fehlerhandler befinden.

Bemerkungen

Hinweis

Es wird empfohlen, in Ihrem Code nach Möglichkeit eine strukturierte Ausnahmebehandlung durchzuführen, anstatt eine unstrukturierte Ausnahmebehandlung und die On Error- und Resume-Anweisungen zu verwenden. Weitere Informationen finden Sie unter Try...Catch...Finally-Anweisung.

Wenn Sie eine Resume-Anweisung an einer anderen Stelle als in einer Fehlerbehandlungsroutine verwenden, tritt ein Fehler auf.

Die Resume-Anweisung kann nicht in einer Prozedur verwendet werden, die eine Try...Catch...Finally-Anweisung enthält.

Beispiel

In diesem Beispiel wird die Resume-Anweisung verwendet, um die Fehlerbehandlung in einer Prozedur zu beenden und dann die Ausführung mit der Anweisung fortzusetzen, die den Fehler verursacht hat. Fehlernummer 55 wird generiert, um die Verwendung der Resume-Anweisung zu veranschaulichen.

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

Anforderungen

Namespace: Microsoft.VisualBasic

Assembly: Visual Basic-Laufzeitbibliothek (in „Microsoft.VisualBasic.dll“)

Siehe auch