Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Bercabang tanpa syarat ke baris tertentu dalam prosedur.
Sintaks
GoTo line
Bagian
line
Harus diisi. Label garis apa pun.
Keterangan
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.
Catatan
pernyataan GoTo
dapat membuat kode sulit dibaca dan dipelihara. Jika memungkinkan, gunakan struktur kontrol sebagai gantinya. Untuk informasi selengkapnya, lihat Alur Kontrol.
Anda tidak dapat menggunakan pernyataan GoTo
untuk bercabang dari luar konstruksi For
... Next
, For Each
...Next
, SyncLock
...End SyncLock
, Try
...Catch
...Finally
, With
...End With
, atau Using
...End Using
ke label di dalamnya.
Konstruksi Percabangan dan Coba
Dalam konstruksi Try
...Catch
...Finally
, aturan berikut berlaku untuk percabangan dengan pernyataan GoTo
.
Blok atau wilayah | Percabangan masuk dari luar | Percabangan keluar dari dalam |
---|---|---|
Try blok |
Hanya dari blok Catch konstruksi yang sama 1 |
Hanya untuk di luar seluruh konstruksi |
Catch blok |
Tidak pernah diizinkan | Hanya untuk di luar seluruh konstruksi, atau ke blok Try konstruksi yang sama 1 |
Finally blok |
Tidak pernah diizinkan | Tidak pernah diizinkan |
1 Jika satu konstruksi Try
...Catch
...Finally
bersarang dalam konstruksi lain, blok Catch
dapat bercabang ke blok Try
pada tingkat bersarangnya sendiri, tetapi tidak ke blok Try
yang lain. Konstruksi Try
...Catch
...Finally
bersarang harus termuat sepenuhnya dalam blok Try
atau Catch
dari konstruksi tempatnya bersarang.
Ilustrasi berikut menunjukkan satu konstruksi Try
yang bersarang di dalam konstruksi lainnya. Berbagai cabang antara blok kedua konstruksi ditunjukkan sebagai valid atau tidak valid.
Contoh
Contoh berikut menggunakan pernyataan GoTo
untuk bercabang 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