GoTo-Anweisung
Verzweigt unabhängig von einer Bedingung auf eine angegebene Zeile innerhalb einer Prozedur.
GoTo line
Bestandteil
- line
Erforderlich.Eine beliebige Zeilenmarke.
Hinweise
Die GoTo-Anweisung kann nur auf Zeilen der Prozedur verzweigen, in der sie verwendet wird.Die Zeile muss über eine Zeilenmarke verfügen, auf die GoTo verweisen kann.Weitere Informationen finden Sie unter Gewusst wie: Label-Anweisungen (Visual Basic).
Hinweis |
---|
Mit GoTo-Anweisungen wird der Code schwer verständlich, und die Pflege des Codes wird ebenfalls erschwert.Verwenden Sie stattdessen nach Möglichkeit eine Steuerungsstruktur.Weitere Informationen finden Sie unter Ablaufsteuerung in Visual Basic. |
Es ist nicht möglich, mit einer GoTo-Anweisung von außerhalb einer Konstruktion mit For...Next, For Each...Next, SyncLock...End SyncLock, Try...Catch...Finally, With...End With oder Using...End Using auf eine Bezeichnung in der Konstruktion zu verzweigen.
Verzweigung und Try-Konstruktionen
Innerhalb einer Try...Catch...Finally-Konstruktion gelten die folgenden Regeln für Verzweigungen mit der GoTo-Anweisung.
Block oder Bereich |
Verzweigung von außen nach innen |
Verzweigung von innen nach außen |
---|---|---|
Try-Block |
Nur aus einem Catch-Block mit der gleichen Konstruktion 1 |
Nur nach außerhalb der gesamten Konstruktion |
Catch-Block |
Niemals zulässig |
Nur nach außerhalb der gesamten Konstruktion oder zum Try-Block derselben Konstruktion 1 |
Finally-Block |
Niemals zulässig |
Niemals zulässig |
1 Wenn eine Try...Catch...Finally-Konstruktion in einer anderen geschachtelt ist, kann ein Catch-Block in den Try-Block auf der eigenen Schachtelungsebene, jedoch nicht in einen anderen Try-Block verzweigen.Eine geschachtelte Try...Catch...Finally-Konstruktion muss vollständig in einem Try-Block oder einem Catch-Block der Konstruktion enthalten sein, in der sie geschachtelt ist.
Im folgenden Beispiel wird eine Try-Konstruktion veranschaulicht, die in einer anderen geschachtelt ist.Verschiedene Verzweigungen zwischen den Blocks der beiden Konstruktionen werden als gültig oder ungültig angegeben.
Gültige und ungültige Verzweigungen in Try-Konstruktionen
Beispiel
In folgendem Beispiel wird die GoTo-Anweisung verwendet, um auf Zeilensprungmarken innerhalb 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
Referenz
Do...Loop-Anweisung (Visual Basic)
For...Next-Anweisung (Visual Basic)
For Each...Next-Anweisung (Visual Basic)
If...Then...Else-Anweisung (Visual Basic)
Select...Case-Anweisung (Visual Basic)
Try...Catch...Finally-Anweisung (Visual Basic)