Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Grenar villkorslöst till en angiven rad i en procedur.
Syntax
GoTo line
Del
line
Obligatoriskt. Alla radetiketter.
Anmärkningar
-instruktionen GoTo kan endast förgrenas till rader i den procedur som den visas i. Raden måste ha en radetikett som GoTo kan referera till. Mer information finns i Anvisningar: Etikettinstruktioner.
Anmärkning
GoTo -instruktioner kan göra det svårt att läsa och underhålla koden. Använd i stället en kontrollstruktur när det är möjligt. Mer information finns i Kontrollflöde.
Du kan inte använda en GoTo -instruktion för att förgrena utanför en For...Next, For Each...Next, SyncLock...End SyncLock, Try...Catch...Finally, With...End With, eller Using...End Using konstruktion till en etikett inuti.
Förgrening och prova konstruktioner
Inom en Try...Catch...Finally gäller följande regler för förgrening med -instruktionen GoTo .
| Blockera eller region | Förgrena in utifrån | Förgrena sig inifrån |
|---|---|---|
Try blockera |
Endast från ett Catch block av samma konstruktion 1 |
Endast till utanför hela konstruktionen |
Catch blockera |
Tillåts aldrig | Endast till utanför hela konstruktionen, eller till blocket Try av samma konstruktion 1 |
Finally blockera |
Tillåts aldrig | Tillåts aldrig |
1 Om en Try...Catch...Finally konstruktion är kapslad i en annan, ett Catch block kan förgrenas till Try blocket på sin egen kapslingsnivå, men inte i något annat Try block. En kapslad Try...Catch...Finally konstruktionen skall vara helt innesluten i en Try eller Catch flera delar av konstruktionen inom vilken den är kapslad.
Följande bild visar en Try konstruktion kapslad i en annan. Olika grenar bland blocken i de två konstruktionerna anges som giltiga eller ogiltiga.
Exempel
I följande exempel används -instruktionen GoTo för att förgrena till radetiketter i en procedur.
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