GoTo (Instrucción)
Realiza una bifurcación incondicional a una línea especificada en un procedimiento.
GoTo line
Parte
- line
Obligatorio. Cualquier etiqueta de línea.
Comentarios
La instrucción GoTo únicamente puede bifurcarse a líneas en el procedimiento en el que aparece. La línea debe tener una etiqueta de la línea a la que puede hacer referencia GoTo. Para obtener más información, vea Cómo: Aplicar etiquetas a las instrucciones (Visual Basic).
Nota
Las instrucciones GoTo pueden dificultar la lectura y el mantenimiento del código. Siempre que sea posible, utilice en su lugar una estructura de control. Para obtener más información, vea Flujo de control en Visual Basic.
No puede utilizar una instrucción GoTo para realizar una bifurcación desde fuera de una construcción For...Next, For Each...Next, SyncLock...End SyncLock, Try...Catch...Finally, With...End With o Using...End Using a una etiqueta situada dentro de ella.
Bifurcación y construcciones Try
Dentro de una construcción Try...Catch...Finally, se aplican las reglas siguientes a la bifurcación con la instrucción GoTo.
Bloque o región |
Bifurcación hacia dentro desde fuera |
Bifurcación hacia fuera desde dentro |
---|---|---|
Bloque Try |
Sólo desde un bloque Catch de la misma construcción 1 |
Sólo hacia fuera de la construcción completa |
Bloque Catch |
Nunca se permite |
Sólo hacia fuera de la construcción completa o al bloque Try de la misma construcción 1 |
Bloque Finally |
Nunca se permite |
Nunca se permite |
1 Si una construcción Try...Catch...Finally está anidada dentro de otra, un bloque Catch se puede bifurcar hacia el interior del bloque Try de su propio nivel de anidación, pero no hacia el interior de ningún otro bloque Try. Una construcción Try...Catch...Finally anidada debe estar completamente contenida dentro de un bloque Try o Catch de la construcción dentro de la que está anidada.
La ilustración siguiente muestra una construcción Try anidada dentro de otra. Las distintas bifurcaciones entre los bloques de las dos construcciones se señalan como válidas o no válidas.
Bifurcaciones válidas y no válidas en construcciones Try
Ejemplo
En este ejemplo se usa la instrucción GoTo para bifurcar hacia etiquetas de línea ubicadas 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
Vea también
Referencia
Instrucción Do...Loop (Visual Basic)
Instrucción For...Next (Visual Basic)
Instrucción For Each...Next (Visual Basic)
Instrucción If...Then...Else (Visual Basic)
Instrucción Select...Case (Visual Basic)
Instrucción Try...Catch...Finally (Visual Basic)