Instrukcja GoTo
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 Jak: sprawozdania etykiety (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 języku 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
Zrobić...Instrukcji pętli (Visual Basic)
Dla...Następna instrukcja (Visual Basic)
Dla każdego...Następna instrukcja (Visual Basic)
Jeżeli...Następnie...Instrukcja else (Visual Basic)
Wybierz...Instrukcja Case (Visual Basic)
Spróbuj...Catch...Instrukcja finally (Visual Basic)