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