GoTo 陳述式
更新:2007 年 11 月
無條件將程式分支到程序中指定的一行程式。
GoTo line
參數
- line
必要項。任何程式行標籤 (Label)。
備註
GoTo 陳述式只能將程式分支到所在程序內的程式行。該程式行必須具有程式行標籤,以供 GoTo 參考。如需詳細資訊,請參閱 HOW TO:標記陳述式。
![]() |
---|
GoTo 陳述式會使他人難以閱讀及維護您的程式碼。如果可能,請使用控制結構。如需詳細資訊,請參閱 Visual Basic 中的控制流程。 |
您無法使用 GoTo 陳述式,將程式從 For...Next、For Each...Next、SyncLock...End SyncLock、Try...Catch...Finally、With...End With 或 Using...End Using 語法結構以外的位置分支到語法結構內的標籤。
分支和 Try 語法結構
在 Try...Catch...Finally 語法結構內,使用 GoTo 陳述式進行分支適用於下列規則。
區塊或區域 |
由外往內分支 |
由內往外分支 |
---|---|---|
Try 區塊 |
只能從同一語法結構的 Catch 區塊分支進來 1 |
只能分支到整個語法結構以外 |
Catch 區塊 |
絕不允許 |
只能分支到整個語法結構以外,或是分支到同一語法結構的 Try 區塊 1 |
Finally 區塊 |
絕不允許 |
絕不允許 |
1 若某個 Try...Catch...Finally 語法結構內嵌於其他的語法結構內,則 Catch 區塊可以分支到本身巢狀層次的 Try 區塊,但不能分支到其他的 Try 區塊。內層的巢狀 Try...Catch...Finally 語法結構,必須完全包含在外層語法結構的 Try 或 Catch 區塊內。
下圖會顯示巢狀於其他語法結構內的 Try 語法結構。這兩個語法結構區塊之間的各種分支會標示為有效或無效。
Try 語法結構的有效和無效分支
範例
下列範例會使用 GoTo 陳述式,將程式分支到程序內的程式行標籤。
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
請參閱
參考
For Each...Next 陳述式 (Visual Basic)
If...Then...Else 陳述式 (Visual Basic)
Select...Case 陳述式 (Visual Basic)
Try...Catch...Finally 陳述式 (Visual Basic)