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.

Diagrama gráfico de bifurcación en construcciones Try

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

Consulta también