Partager via


GoTo, instruction

Mise à jour : novembre 2007

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.

Remarque :

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)

While...End While, instruction (Visual Basic)

With...End With, instruction (Visual Basic)