Freigeben über


Resume-Anweisung

Setzt nach Abschluss einer Fehlerbehandlungsroutine die Ausführung fort.

Wir empfehlen, dass Sie die strukturierte Ausnahmebehandlung im Code verwenden, wann immer dies möglich ist, und nicht anhand der unstrukturierten Ausnahmebehandlung und der On Error und Resume-Anweisungen.Weitere Informationen finden Sie unter Try...Catch...Finally-Anweisung (Visual Basic).

Resume [ Next | line ]

Teile

  • Resume
    Erforderlich.Wenn der Fehler in der gleichen Prozedur auftrat wie der Fehlerhandler, wird die Ausführung bei der Anweisung fortgesetzt, die den Fehler verursachte.Trat der Fehler in einer aufgerufenen Prozedur auf, wird die Ausführung bei der Anweisung fortgesetzt, die zuletzt aus derjenigen Prozedur einen Aufruf ausführte, in der die Fehlerbehandlungsroutine enthalten ist.

  • Next
    Optional.Wenn der Fehler in der gleichen Prozedur auftrat wie der Fehlerhandler, wird die Ausführung bei der Anweisung fortgesetzt, die unmittelbar auf die Anweisung folgt, die den Fehler verursachte.Wenn der Fehler in einer aufgerufenen Prozedur auftrat, wird die Ausführung bei der Anweisung fortgesetzt, die unmittelbar auf die Anweisung folgt, welche zuletzt einen Aufruf aus derjenigen Prozedur ausführte, in der die Fehlerbehandlungsroutine enthalten ist (oder der On Error Resume Next-Anweisung).

  • line
    Optional.Die Ausführung wird mit der Zeile fortgesetzt, die im erforderlichen line-Argument angegeben wird.Das line-Argument ist eine Zeilenmarke oder Zeilennummer und muss sich in der gleichen Prozedur befinden wie der Fehlerhandler.

Hinweise

HinweisHinweis

Es wird empfohlen, die strukturierte Ausnahmebehandlung im Code verwenden, wann immer dies möglich ist, und nicht anhand der unstrukturierten Ausnahmebehandlung und der On Error und Resume-Anweisungen.Weitere Informationen finden Sie unter Try...Catch...Finally-Anweisung (Visual Basic).

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

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

Beispiel

In diesem Beispiel wird mithilfe der Resume-Anweisung die Fehlerbehandlung in einer Prozedur beendet und dann die Ausführung mit der Anweisung fortgesetzt, die den Fehler verursacht hat.Um die Verwendung der Resume-Anweisung zu veranschaulichen, wird Fehler Nummer 55 generiert.

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

Referenz

Try...Catch...Finally-Anweisung (Visual Basic)

Error-Anweisung

On Error-Anweisung (Visual Basic)