Condividi tramite


Istruzione GoTo

Aggiornamento: novembre 2007

Consente la diramazione incondizionata a una determinata riga di una routine.

GoTo line

Part

  • line
    Obbligatoria. Qualsiasi etichetta di riga.

Note

L'istruzione GoTo consente la diramazione alle 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.

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 diramarsi 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.

Diramazioni e costruzioni Try

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

Blocco o area

Diramazione dall'esterno

Diramazione 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 è nidificata in un'altra costruzione, è possibile prevedere la diramazione di un blocco Catch all'interno del blocco Try del proprio livello di nidificazione, ma non all'interno di un altro blocco Try. Una costruzione nidificata Try...Catch...Finally deve essere completamente contenuta in un blocco Try o Catch della costruzione in cui è nidificata.

Nell'illustrazione che segue viene mostrata una costruzione Try inserita all'interno di un'altra. Le diverse diramazioni tra i blocchi delle due costruzioni vengono indicate come valide o non valide.

Diramazioni valide e non valide in costruzioni Try

Diagramma grafico delle diramazioni in costruzioni Try

Esempio

Nell'esempio riportato di seguito l'istruzione GoTo viene utilizzata per diramare alle 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)