Compartir a través de


Instrucción GoTo

Bifurca incondicionalmente a una línea especificada en un procedimiento.

Sintaxis

GoTo line  

Parte

line
Obligatorio. Cualquier etiqueta de línea.

Observaciones

La GoTo instrucción solo puede bifurcarse a líneas del procedimiento en el que aparece. La línea debe tener una etiqueta de línea que GoTo pueda hacer referencia. Para obtener más información, vea Cómo: Instrucciones de etiqueta.

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 GoTo instrucción para bifurcar desde fuera de un For..., For Each...NextNext, SyncLock...End SyncLock, ...CatchTry..., With...End WithFinally, o Using...End Using construcción en una etiqueta dentro.

Bifurcación e prueba de construcciones

Dentro de un Try...Catch...Finally construcción, las reglas siguientes se aplican a la bifurcación con la GoTo instrucción .

Bloquear o región Bifurcación desde fuera Bifurcarse desde dentro
Bloque de Try Sólo desde un Catch bloque de la misma construcción 1 Sólo a fuera de toda la construcción
Bloque de Catch Nunca permitido Sólo a fuera de toda la construcción, o al Try bloque de la misma construcción 1
Bloque de Finally Nunca permitido Nunca permitido

1 Si una Try...Catch...Finally la construcción está anidada dentro de otra, un Catch bloque puede bifurcarse en el Try bloque en su propio nivel de anidamiento, pero no en ningún otro Try bloque. Anidado Try...Catch...Finally la construcción debe estar completamente contenida en un Try bloque o Catch de la construcción dentro de la cual está 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.

Diagrama gráfico de bifurcación en las construcciones Try

Ejemplo

En el ejemplo siguiente se usa la GoTo instrucción para bifurcar las etiquetas de una 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

Consulte también