GoTo (Instrucción)
Bifurca incondicionalmente a una línea especificada en un procedimiento.
Sintaxis
GoTo line
Parte
line
Necesario. Cualquier etiqueta de línea.
Comentarios
La GoTo instrucción solo puede bifurcar a las líneas del procedimiento en el que aparece. La línea debe tener una etiqueta de línea a la GoTo que pueda hacer referencia. Para obtener más información, vea Cómo: Etiquetar instrucciones.
Nota
GoTo Las instrucciones pueden dificultar la lectura y el mantenimiento del código. Siempre que sea posible, use una estructura de control en su lugar. Para más información, consulte Control Flow.
No se puede usar una instrucción para bifurcar desde fuera de GoTo un ... , ... , ... , For Next For Each Next SyncLock End SyncLock Try ... Catch ... Finally , ... o ... construcción en una etiqueta dentro de With End With Using End Using .
Bifurcación y prueba de construcciones
Dentro de Try un ... Catch ...Finally construcción, las siguientes reglas se aplican a la bifurcación con la GoTo instrucción .
| Bloque o región | Bifurcación desde fuera | Bifurcación desde dentro |
|---|---|---|
Try Bloquear |
Solo desde un Catch bloque de la misma construcción 1 |
Solo fuera de toda la construcción |
Catch Bloquear |
Nunca permitido | Solo a fuera de toda la construcción o al Try bloque de la misma construcción 1 |
Finally Bloquear |
Nunca permitido | Nunca permitido |
1 Si es Try ... Catch ...Finally la construcción está anidada dentro de otro, un bloque puede bifurcarse en el bloque en su propio nivel de anidamiento, Catch pero no en ningún otro Try Try bloque. Un objeto Try anidado... Catch ...Finally la construcción debe estar contenida completamente en un Try bloque o de la construcción en la que está Catch anidada.
En la ilustración siguiente se muestra una Try construcción anidada dentro de otra. Varias ramas entre los bloques de las dos construcciones se indican como válidas o no válidas.

Ejemplo
En el ejemplo siguiente se usa la GoTo instrucción para bifurcar etiquetas de línea en un procedimiento.
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