Partage via


GoTo, instruction

Crée une branche inconditionnelle vers une ligne spécifiée d'une procédure.

Syntaxe

GoTo line  

Élément

line
Obligatoire. Toute étiquette de ligne.

Notes

L’instruction GoTo ne peut se brancher qu’aux lignes de la procédure dans laquelle elle apparaît. La ligne doit avoir une étiquette de ligne à laquelle GoTo peut faire référence. Pour plus d’informations, consultez Guide pratique pour étiqueter des instructions.

Notes

Les instructions GoTo peuvent rendre le code difficile à lire et à gérer. Dans la mesure du possible, utilisez plutôt une structure de contrôle. Pour plus d’informations, consultez Control Flow.

Vous ne pouvez pas utiliser une instruction GoTo pour créer une branche en dehors d’une construction For...Next, For Each...Next, SyncLock...End SyncLock, Try...Catch...Finally, With...End With, ou Using...End Using à l’intérieur d’une étiquette.

Branchement et tentative de constructions

Dans une construction Try...Catch...Finally , les règles suivantes s’appliquent à la branchement avec l’instruction GoTo.

Bloquer ou région Branchement à partir de l’extérieur Branchement à partir de l’intérieur
Bloc Try Seulement d’un bloc Catch de la même construction 1 Seulement à l’extérieur de toute la construction
Bloc Catch Jamais autorisé Seulement à l’extérieur de l’ensemble de la construction, ou au 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 se brancher dans le bloc Try à son propre niveau d’imbrication, mais pas dans 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 suivante montre une construction Try imbriquée dans une autre. Diverses branches parmi les blocs des deux constructions sont indiquées comme valides ou non valides.

Graphic diagram of branching in Try constructions

Exemple

L’exemple suivant utilise l’instruction pour créer une branche GoTo vers des étiquettes de ligne dans 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