GoTo 語句

無條件地分支至程式中的指定行。

語法

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 結構內。 這兩個建構區塊之間的各種分支會表示為有效或無效。

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

另請參閱