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
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)