Parcours Accueil Tour guidé Initiation 1 h Initiation 24 h Révisions Exercices

L’instruction GO TO provoque un saut inconditionnel vers un paragraphe. Si elle est utilisée de manière désordonnée, elle rend le code difficile à lire, à comprendre et à maintenir.

Info : Ce module vous permet d’accéder rapidement aux contenus essentiels de la formation COBOL.
Retour au plan général

🧩 4-4 – Les instructions  GO  TO  et  EXIT  : pièges, usages recommandés et alternatives

Dans l’histoire du langage  COBOL , les instructions  GO  TO  et  EXIT  ont longtemps été utilisées pour organiser le flux du programme. Cependant, avec l’arrivée de la programmation structurée, leur usage est devenu marginal, voire déconseillé, au profit d'instructions plus lisibles comme  PERFORM ,  IF , ou  EVALUATE .

⚠️ Pourquoi  GO  TO  est dangereux

L’instruction  GO  TO  provoque un saut inconditionnel vers un paragraphe. Si elle est utilisée de manière désordonnée, elle rend le code difficile à lire, à comprendre et à maintenir.


 PROCEDURE DIVISION.
    GO TO CALCUL.
 AFFICHAGE.
    DISPLAY "Affichage".
 CALCUL.
    DISPLAY "Calcul".
    GO TO FIN.
 FIN.
    STOP RUN.
  

Le flux d’exécution devient ici imprévisible. Imaginez la difficulté de comprendre un programme de 10 000 lignes structuré de cette façon !

✅ Alternative recommandée :  PERFORM 

Pour structurer votre code, utilisez plutôt  PERFORM  :


 PROCEDURE DIVISION.
    PERFORM CALCUL.
    PERFORM AFFICHAGE.
    PERFORM FIN.
    STOP RUN.

 CALCUL.
    DISPLAY "Calcul".

 AFFICHAGE.
    DISPLAY "Affichage".

 FIN.
    DISPLAY "Fin du programme".
  

Ce code est plus lisible, plus simple à tester, et permet un débogage plus fiable.

🛑 Quand utiliser  GO  TO  malgré tout ?

Quelques cas restent acceptables :

➡️ L’instruction  EXIT 

L’instruction  EXIT  termine proprement un paragraphe ou une section. Elle ne provoque pas de saut, elle sert simplement à signifier la fin d’un bloc de code.


 CALCUL-TOTAL.
    COMPUTE TOTAL = PRIX * QUANTITE.
    EXIT.
  

Elle est surtout utile dans les sections longues, ou lorsqu’un paragraphe est appelé depuis plusieurs endroits du programme.

📌 Résumé

Dans les prochaines sections, vous apprendrez à combiner  PERFORM ,  IF , et  EVALUATE  pour construire des programmes robustes, lisibles et conformes aux standards professionnels actuels.

↑ Haut