GoTo – příkaz
Větve nepodmíněně na určený řádek v proceduře.
Syntax
GoTo line
Část
line
Povinná hodnota. Libovolný popisek čáry.
Poznámky
GoToPříkaz může být větví pouze na řádky v proceduře, ve které se vyskytuje. Řádek musí mít popisek řádku, na který GoTo může odkazovat. Další informace naleznete v tématu How to: Label Statements.
Poznámka
GoTo příkazy mohou ztížit čtení a údržbu kódu. Kdykoli je to možné, použijte místo toho strukturu ovládacího prvku. Další informace naleznete v tématu Control Flow.
Nemůžete použít GoTo příkaz k vytvoření větve mimo For ... Next , For Each ..., Next SyncLock End SyncLock Try ...,. Catch .. ... Finally , With ...,... End With , nebo Using ... End Using konstrukce na návěští uvnitř.
Větvení a vytváření try
V rámci Try ... Catch ...Finally konstrukce: následující pravidla platí pro větvení s GoTo příkazem.
| Blok nebo oblast | Větvení z vnějšku | Vyskočení z vnitřku |
|---|---|---|
Try Blokované |
Pouze z Catch bloku stejné konstrukce 1 |
Jenom mimo celou konstrukci |
Catch Blokované |
Nikdy Nepovoleno | Pouze vně celé konstrukce nebo do Try bloku stejné konstrukce 1 |
Finally Blokované |
Nikdy Nepovoleno | Nikdy Nepovoleno |
1 , pokud jedna Try ... Catch ...Finally konstrukce je vnořena do jiného, Catch blok může být větví do Try bloku na vlastní úrovni vnoření, ale ne do žádného jiného Try bloku. Vnořený Try ... Catch ...Finally konstrukce musí být zcela obsažena v Try Catch bloku nebo konstrukce, v rámci které je vnořena.
Následující ilustrace znázorňuje jeden Try konstrukcí vnořený do jiného. Různé větve mezi bloky dvou konstrukcí jsou označeny jako platné nebo neplatné.

Příklad
Následující příklad používá GoTo příkaz pro větvení popiskům čáry v proceduře.
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