Istruzione GoTo

Consente la creazione incondizionata di un ramo in una determinata riga di una routine.

GoTo line

Parte

  • line
    Obbligatoria. Qualsiasi etichetta di riga.

Note

L'istruzione GoTo consente la creazione di un ramo nelle sole righe della routine in cui è inclusa. La riga deve possedere un'etichetta di riga a cui GoTo possa fare riferimento. Per ulteriori informazioni, vedere Procedura: etichettare le istruzioni (Visual Basic).

Nota

Le istruzioni GoTo possono ostacolare la lettura e la gestione del codice. Quando possibile, utilizzare invece una struttura di controllo. Per ulteriori informazioni, vedere Flusso di controllo in Visual Basic.

Non è possibile utilizzare un'istruzione GoTo per creare un ramo dall'esterno di una costruzione For...Next, For Each...Next, SyncLock...End SyncLock, Try...Catch...Finally, With...End With o Using...End Using in un'etichetta al suo interno.

Creazione di un ramo e costruzioni Try

All'interno di una costruzione Try...Catch...Finally, è necessario rispettare le seguenti regole per la creazione di un ramo con l'istruzione GoTo.

Blocco o area

Creazione di un ramo dall'esterno

Creazione di un ramo all'esterno

Blocco Try

Solo da un blocco Catch della stessa costruzione 1

Solo al di fuori dell'intera costruzione

Blocco Catch

Non consentito

Solo al di fuori dell'intera costruzione o del blocco Try della stessa costruzione 1

Blocco Finally

Non consentito

Non consentito

1 Se una costruzione Try...Catch...Finally è annidata in un'altra costruzione, è possibile prevedere la creazione di un ramo di un blocco Catch all'interno del blocco Try del proprio livello di annidamento, ma non all'interno di un altro blocco Try. Una costruzione annidata Try...Catch...Finally deve essere completamente contenuta in un blocco Try o Catch della costruzione in cui è annidata.

Nell'illustrazione che segue viene mostrata una costruzione Try inserita all'interno di un'altra. I diversi rami tra i blocchi delle due costruzioni vengono indicati come validi o non validi.

Rami validi e non validi in costruzioni Try

Diagramma grafico dei rami in costruzioni Try

Esempio

Nell'esempio riportato di seguito l'istruzione GoTo viene utilizzata per creare un ramo nelle etichette di riga in una routine.

    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

Vedere anche

Riferimenti

Istruzione Do...Loop (Visual Basic)

Istruzione For...Next (Visual Basic)

Istruzione For Each...Next (Visual Basic)

Istruzione If...Then...Else (Visual Basic) |

Istruzione Select...Case (Visual Basic)

Istruzione Try...Catch...Finally (Visual Basic)

Istruzione While...End While (Visual Basic)

Istruzione With...End With (Visual Basic)