無條件地分支至程式中的指定行。
語法
GoTo line
部分
line
必須的。 任何線條標籤。
備註
語句 GoTo 只能分支至出現在程式中的行。 該行必須有可以參考的線條標籤 GoTo 。 如需詳細資訊,請參閱 如何:標籤語句。
備註
GoTo 語句會使程式代碼難以讀取和維護。 請盡可能改用控件結構。 如需詳細資訊,請參閱 控制流程。
您無法使用 GoTo 語句從 For...Next, ..., For Each...Next, SyncLock...End SyncLock ... TryCatch...Finally、 With...End With 或 Using...End Using 建構到內部的標籤。
分支和嘗試建構
Try在 ...Catch...Finally建構,下列規則適用於語句的GoTo分支。
| 封鎖或區域 | 從外部分支 | 從內部分支 |
|---|---|---|
Try 區塊 |
只有來自 Catch 相同建構的區塊 1 |
只有到整個建築外部 |
Catch 區塊 |
絕對不允許 | 只到整個施工之外,或到 Try 同一個建築的街區 1 |
Finally 區塊 |
絕對不允許 | 絕對不允許 |
1 如果一個 Try...Catch...Finally 建構是巢狀在另一個內部,區塊 Catch 可以分支到 Try 區塊本身的巢狀層級,但不能進入任何其他 Try 區塊。 巢狀 Try...Catch...Finally 建構必須完全 Try 包含在其巢狀結構內的 或 Catch 區塊中。
下圖顯示一個巢狀在另一個 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