GoTo (Instrucción)

Actualización: noviembre 2007

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.

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)

Instrucción While...End While (Visual Basic)

Instrucción With...End With (Visual Basic)