Bagikan melalui


Pernyataan GoTo

Cabang tanpa syarat ke baris tertentu dalam prosedur.

Sintaksis

GoTo line  

Bagian

line
Dibutuhkan. Label garis apa pun.

Komentar

Pernyataan GoTo hanya dapat bercabang ke baris dalam prosedur di mana pernyataan tersebut muncul. Garis harus memiliki label garis yang GoTo dapat merujuk. Untuk informasi selengkapnya, lihat Cara: Pernyataan Label.

Nota

GoTo pernyataan dapat membuat kode sulit dibaca dan dipertahankan. Jika memungkinkan, gunakan struktur kontrol sebagai gantinya. Untuk informasi selengkapnya, lihat Alur Kontrol.

Anda tidak dapat menggunakan GoTo pernyataan untuk bercabang dari luar ...NextFor, For Each...Next, SyncLock...End SyncLock, Try...Catch...Finally , With...End With , atau Using...End Using konstruksi untuk label di dalam .

Konstruksi Percabangan dan Coba

Dalam ...TryCatch...Finally konstruksi, aturan berikut berlaku untuk percabangan dengan GoTo pernyataan.

Blokir atau wilayah Percabangan masuk dari luar Percabangan keluar dari dalam
blok Try Hanya dari Catch blok konstruksi yang sama 1 Hanya untuk di luar seluruh konstruksi
blok Catch Tidak pernah diizinkan Hanya untuk di luar seluruh konstruksi, atau ke Try blok konstruksi yang sama 1
blok Finally Tidak pernah diizinkan Tidak pernah diizinkan

1 Jika satu Try...Catch...Finally konstruksi bersarang dalam blok lain, blok Catch dapat bercabang ke Try blok pada tingkat bersarangnya sendiri, tetapi tidak ke blok lain Try . Berlapis Try...Catch...Finally konstruksi harus terkandung sepenuhnya dalam atau TryCatch blok konstruksi di mana ia bersarang.

Ilustrasi berikut menunjukkan satu Try konstruksi bersarang di dalam konstruksi lainnya. Berbagai cabang di antara blok kedua konstruksi ditunjukkan sebagai valid atau tidak valid.

Diagram grafik percabangan dalam Coba konstruksi

Contoh

Contoh berikut menggunakan pernyataan untuk bercabang GoTo ke label baris dalam prosedur.

    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

Lihat juga