GoTo, instruction
Crée une branche inconditionnelle vers une ligne spécifiée d'une procédure.
GoTo line
Élément
- line
Obligatoire. Toute étiquette de ligne.
Notes
L'instruction GoTo ne peut créer une branche que vers des lignes qui appartiennent à la procédure dans laquelle elle est utilisée. La ligne doit contenir une étiquette de ligne à laquelle GoTo peut faire référence. Pour plus d'informations, consultez Comment : étiqueter des instructions (Visual Basic).
Notes
Les instructions GoTo peuvent rendre le code difficile à lire et à gérer. Si possible, utilisez à la place une structure de contrôle. Pour plus d'informations, consultez Flux de contrôle en Visual Basic.
Vous ne pouvez pas utiliser une instruction GoTo pour créer une branche depuis l'extérieur d'une construction For...Next, For Each...Next, SyncLock...End SyncLock, Try...Catch...Finally, With...End With ou Using...End Using vers une étiquette interne.
Création de branche et constructions Try
Dans une construction Try...Catch...Finally, les règles ci-dessous s'appliquent à la création de branche à l'aide de l'instruction GoTo.
Bloc ou région |
Création de branche depuis l'extérieur |
Création de branche depuis l'intérieur |
---|---|---|
Bloc Try |
Uniquement à partir d'un bloc Catch de la même construction 1 |
Uniquement vers l'extérieur de la construction entière |
Bloc Catch |
Jamais autorisé |
Uniquement vers l'extérieur de la construction entière, ou vers le bloc Try de la même construction 1 |
Bloc Finally |
Jamais autorisé |
Jamais autorisé |
1 Si une construction Try...Catch...Finally est imbriquée dans une autre, un bloc Catch peut faire l'objet d'une création de branche vers le bloc Try à son propre niveau d'imbrication, mais pas vers un autre bloc Try. Une construction Try...Catch...Finally imbriquée doit être entièrement contenue dans un bloc Try ou Catch de la construction dans laquelle elle est imbriquée.
L'illustration ci-dessous présente une construction Try imbriquée dans une autre. Les diverses branches entre les blocs des deux constructions sont indiquées comme étant correctes ou incorrectes.
Branches correctes et incorrectes dans les constructions Try
Exemple
L'exemple ci-dessous utilise l'instruction GoTo pour créer une branche vers les étiquettes de ligne au sein d'une procédure.
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
Voir aussi
Référence
Do...Loop, instruction (Visual Basic)
For...Next, instruction (Visual Basic)
For Each...Next, instruction (Visual Basic)
If...Then...Else, instruction (Visual Basic)
Select...Case, instruction (Visual Basic)
Try...Catch...Finally, instruction (Visual Basic)