GoTo — Instrukcja
Oddziały bezwarunkowo do określonego wiersza w procedurze.
GoTo line
Część
- line
Wymagane.Wszelkie etykiety linii.
Uwagi
GoTo Instrukcji można rozgałęzić tylko wiersze w procedurze, w której pojawia się.Wiersz musi mieć etykietę linii GoTo może odnosić się do.Aby uzyskać więcej informacji, zobacz Porady: etykietowanie instrukcji (Visual Basic).
[!UWAGA]
GoToinstrukcje może utrudnić kodu do odczytu i utrzymania.W każdym przypadku, gdy jest to możliwe, należy użyć struktury kontroli.Aby uzyskać więcej informacji, zobacz Przepływ sterowania w Visual Basic.
Nie można użyć GoTo instrukcji do oddziału firmy z zewnątrz For...Next, For Each...Next, SyncLock...End SyncLock, Try...Catch...Finally, With...End With, or Using...End Using konstrukcji do etykiety wewnątrz.
Rozgałęzianie się i spróbuj konstrukcje
Within a Try...Catch...Finally budowy, następujące zasady stosuje się do tworzenia odgałęzień z GoTo instrukcji.
Blok lub regionu |
Rozgałęzioną w z zewnątrz |
Rozgałęzioną out od wewnątrz |
---|---|---|
Tryblok |
Tylko z Catch bloku takiej samej konstrukcji 1 |
Tylko poza całego budowy |
Catchblok |
Nigdy nie są dozwolone |
Tylko poza całego budowy lub do Try bloku takiej samej konstrukcji 1 |
Finallyblok |
Nigdy nie są dozwolone |
Nigdy nie są dozwolone |
1 If one Try...Catch...Finally konstrukcji jest zagnieżdżony w innym, Catch bloku można Rozgałęzienie do Try bloku na swój własny poziom zagnieżdżenia, ale nie do wszelkich innych Try bloku.A nested Try...Catch...Finally konstrukcji muszą być zawarte w całkowicie w Try lub Catch bloku budowy, w którym jest zagnieżdżony.
Na następującej ilustracji pokazano jedną Try konstrukcji zagnieżdżona w innej.Różne oddziały wśród bloków dwie konstrukcje są oznaczone jako prawidłowe lub nieprawidłowe.
Prawidłowe i nieprawidłowe oddziałów w konstrukcji Try
Przykład
W poniższym przykładzie użyto GoTo instrukcji do gałęzi do etykiety linii w procedurze.
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
Zobacz też
Informacje
Do...Loop — Instrukcja (Visual Basic)
For...Next — Instrukcja (Visual Basic)
For Each...Next — Instrukcja (Visual Basic)
If...Then...Else — Instrukcja (Visual Basic)
Select...Case — Instrukcja (Visual Basic)
Try...Catch...Finally — Instrukcja (Visual Basic)