GoTo utasítás
Feltétel nélkül elágazik egy adott sorhoz egy eljárásban.
Syntax
GoTo line
Része
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ó : Útmutató: Felirati utasítások.
Feljegyzé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 SyncLock
Next
, SyncLock
... kívülről For
történő elágaztatáshoz. Try
Catch
...Finally
, With
...End With
vagy Using
...End Using
egy címkére építkeznek.
Elágaztatás és konstrukciók kipróbálása
Try
Egy ...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 Catch 1 |
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. Try
Beá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
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: