Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Feltétel nélkül elágazik egy adott sorhoz egy eljárásban.
Szemantika
GoTo line
Rész
line
Szükséges. Bármilyen vonalcímke.
Megjegyzések
Az GoTo utasítás csak az eljárás azon soraira ágazhat el, amelyben megjelenik. A vonalnak olyan vonalcímkével kell rendelkeznie, amelyre GoTo hivatkozni lehet. További információért lásd: Útmutató: Kijelentések címkézése.
Megjegyzés:
GoTo az utasítások megnehezíthetik a kód olvasását és karbantartását. Amikor csak lehetséges, használjon inkább vezérlőstruktúrát. További információ: Control Flow.
Nem használhat utasítást GoTo a ..., ...Next, For Each...End SyncLockNext, SyncLock... kívülről Fortörténő elágaztatáshoz. TryCatch...Finally, With...End Withvagy Using...End Using egy címkére építkeznek.
Elágaztatás és konstrukciók kipróbálása
TryEgy ...Catch...Finally az elágaztatásra az alábbi szabályok vonatkoznak a GoTo nyilatkozattal.
| Blokk vagy régió | Elágaztatás kívülről | Elágazás belülről |
|---|---|---|
Try blokk |
Csak ugyanahhoz az építményhez tartozó blokkból Catch1 |
Csak a teljes építkezésen kívülre |
Catch blokk |
Soha nem engedélyezett | Csak az egész építményen kívülre, vagy ugyanannak az építménynek a Try blokkjára 1 |
Finally blokk |
Soha nem engedélyezett | Soha nem engedélyezett |
1 Ha egy Try...Catch...Finally az építés egy másikba van ágyazva, a Catch blokk a saját beágyazási szintjén ágazhat a Try blokkba, más blokkba Try azonban nem.
TryBeágyazott ...Catch...Finally az építést teljes egészében Try annak az építménynek vagy Catch blokknak a részén kell tárolni, amelyben beágyazva van.
Az alábbi ábrán az egyik Try építmény egymásba ágyazva látható. A két építmény blokkjai között különböző ágak érvényesek vagy érvénytelenek.
példa
Az alábbi példa az GoTo utasítással elágaztatást alkalmaz egy eljárás címkéinek sorba állításához.
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