USE |
Utilise |
|---|---|
| Cobol | |
Syntaxe
|
USE AFTER STANDARD (EXCEPTION|ERROR) PROCEDURE ON filename1 [,filename2] ... |
|
USE AFTER STANDARD (EXCEPTION|ERROR) PROCEDURE ON (INPUT|OUTPUT|I-O|EXTEND) |
Paramètres
| Nom | Description |
|---|---|
| filename1 [, filename2] ... | Ces paramètres permettent d'associer une procédure de gestion d'erreur à un ou plusieurs fichiers spécifiques. |
| EXCEPTION|ERROR | Ce paramètre indique que l'on souhaite intercepter une exception standard d'entrée/sortie après qu'une erreur s'est produite. |
| INPUT | Ce paramètre permet d'indiquer une procédure d'erreur non pas sur un fichier donné, mais sur une catégorie d'opérations pour les lectures. |
| OUTPUT | Ce paramètre permet d'indiquer une procédure d'erreur non pas sur un fichier donné, mais sur une catégorie d'opérations pour les écritures. |
| I-O | Ce paramètre permet d'indiquer une procédure d'erreur non pas sur un fichier donné, mais sur une catégorie d'opérations pour les lectures/écritures. |
| EXTEND | Ce paramètre permet d'indiquer une procédure d'erreur non pas sur un fichier donné, mais sur une catégorie d'opérations pour les extensions de fichiers séquentiels. |
Description
Cette instruction permet d'indiquer les procédures du gestionnaire d'erreur d'entrée-sortie étant ajouté aux procédures standard.
Remarques
- L'instruction USE introduit une gestion d'erreur personnalisée dans les opérations d'entrée/sortie. Elle complète les traitements standards de COBOL en permettant au programmeur de spécifier des procédures s'exécutant automatiquement en cas d'erreur. Cela améliore la robustesse du code, surtout dans les systèmes critiques où les erreurs de fichiers doivent être contrôlées avec précision.
- Les paramètres EXCEPTION et ERROR rendent la détection plus fine. Bien que souvent utilisés de manière interchangeable, certains compilateurs ou environnements peuvent faire une distinction entre eux. Ils signalent tous deux une anomalie d'entrée/sortie, et leur usage explicite permet d'écrire un code plus lisible et plus intentionnel, ce qui est utile pour la maintenance.
- Associer des procédures à des fichiers spécifiques via filename1, filename2, ... permet un traitement ciblé. Par exemple, une procédure de gestion d'erreur différente peut être prévue pour un fichier de journal de bord, un fichier client ou un fichier de configuration. Cela permet de prendre des décisions adaptées selon la nature du fichier concerné.
- La gestion d'erreur par type d'opération (INPUT, OUTPUT,...) apporte une approche globale. Si votre programme traite un grand nombre de fichiers, au lieu de définir une procédure pour chacun, vous pouvez écrire une seule logique d'erreur pour tous les fichiers utilisés en lecture, en écriture ou en mise à jour. Cela réduit la redondance et rend le programme plus flexible.
- L'instruction USE se place en début de PROCEDURE DIVISION, souvent dans un paragraphe réservé aux configurations d'erreur. Cette organisation rend le traitement des erreurs facilement identifiable pour tout développeur consultant le code. Elle aide à documenter clairement les comportements attendus en cas de défaillance d'I/O.
- La clause USE AFTER STANDARD respecte le principe de séparation des responsabilités. En déléguant la gestion d'erreur à une procédure distincte, on évite d'encombrer le code principal avec des vérifications constantes. Cela permet d'avoir un corps de programme plus lisible et plus concentré sur les traitements métiers.
- Cette instruction peut aussi servir de point d'entrée vers des journaux d'audit ou des relances automatiques, selon la gravité des erreurs détectées. Par exemple, en cas d'erreur d'accès à un fichier critique, on peut prévoir une tentative de réouverture ou l'envoi d'un message d'alerte au support technique. Cela favorise la résilience du système.
- La combinaison avec des blocs DECLARATIVES est fréquente et très puissante. Le bloc DECLARATIVES, précédant généralement les paragraphes de gestion d'erreur, permet de regrouper toutes les clauses USE dans un cadre bien délimité. Cela rend la structure du programme plus claire, tout en centralisant la logique de gestion d'exceptions pour l'entrée/sortie.
Dernière mise à jour : Jeudi, le 28 juillet 2011