Freigeben über


GoTo-Anweisung

Verzweigt bedingungslos zu einer angegebenen Zeile in einer Prozedur.

Syntax

GoTo line  

Teil

line
Erforderlich. Eine beliebige Zeilenbezeichnung.

Bemerkungen

Die GoTo Anweisung kann nur zu Zeilen in der Prozedur verzweigt werden, in der sie angezeigt wird. Die Zeile muss über eine Zeilenbezeichnung verfügen, auf die GoTo verwiesen werden kann. Weitere Informationen finden Sie unter How to: Label Statements.

Hinweis

GoTo Anweisungen können das Lesen und Verwalten von Code erschweren. Verwenden Sie stattdessen nach Möglichkeit eine Steuerelementstruktur. Weitere Informationen finden Sie unter Control Flow.

Sie können keine GoTo Anweisung verwenden, um von außerhalb einer For..., For Each...NextNext, ..., ...CatchEnd SyncLockSyncLockTry...Finally, With...End With, oder Using...End Using Konstruktion auf einem Etikett innen.

Verzweigung und Konstruktionsversuch

Innerhalb einer Try...Catch...Finally die folgenden Regeln gelten für verzweigende Verzweigungen mit der GoTo Anweisung.

Block oder Region Verzweigung von außen Verzweigung von innen
Try-Block Nur aus einem Catch Block desselben Baus 1 Nur bis außerhalb des gesamten Baus
Catch-Block Nie erlaubt Nur bis außerhalb des gesamten Baus oder bis Try zum Block desselben Baus 1
Finally-Block Nie erlaubt Nie erlaubt

1 Wenn ein Try...Catch...Finally Die Konstruktion ist in einem anderen geschachtelt, ein Catch Block kann auf seiner eigenen Schachtelungsebene in den Try Block verzweigen, aber nicht in einen anderen Try Block. Geschachtelt Try...Catch...Finally Der Bau muss vollständig in einem TryCatch Baublock enthalten sein, in dem er geschachtelt ist.

Die folgende Abbildung zeigt eine Konstruktion, die in einer Try anderen geschachtelt ist. Verschiedene Verzweigungen zwischen den Blöcken der beiden Konstruktionen sind als gültig oder ungültig gekennzeichnet.

Grafikdiagramm der Verzweigung in Try-Konstruktionen

Beispiel

Im folgenden Beispiel wird die GoTo Anweisung verwendet, um zeilenbeschriftungen in einer Prozedur zu verzweigen.

    Sub GoToStatementDemo()
        Dim number As Integer = 1
        Dim sampleString As String
        ' Evaluate number and branch to appropriate label.
        If number = 1 Then GoTo Line1 Else GoTo Line2
Line1:
        sampleString = "Number equals 1"
        GoTo LastLine
Line2:
        ' The following statement never gets executed because number = 1.
        sampleString = "Number equals 2"
LastLine:
        ' Write "Number equals 1" in the Debug window.
        Debug.WriteLine(sampleString)
    End Sub

Siehe auch