La gestió d'errors és una part fonamental de qualsevol llenguatge de programació, i COBOL no és una excepció. En aquest tema, aprendrem com detectar, gestionar i respondre als errors en els programes COBOL. Això inclou l'ús de codis de retorn, la gestió d'excepcions i altres tècniques per assegurar que els programes funcionin de manera robusta i fiable.
Objectius d'Aprenentatge
Al final d'aquest tema, hauràs après:
- Com utilitzar codis de retorn per detectar errors.
- Com implementar la gestió d'excepcions en COBOL.
- Com utilitzar les sentències
ON ERROR
iINVALID KEY
. - Bones pràctiques per a la gestió d'errors en COBOL.
- Codis de Retorn
Els codis de retorn són una manera comuna de gestionar errors en COBOL. Quan una operació es completa, el programa pot retornar un codi que indica si l'operació ha estat exitosa o si ha fallat.
Exemple de Codi de Retorn
IDENTIFICATION DIVISION. PROGRAM-ID. ErrorHandlingExample. DATA DIVISION. WORKING-STORAGE SECTION. 01 FILE-STATUS-CODE PIC XX. PROCEDURE DIVISION. OPEN INPUT myFile IF FILE-STATUS-CODE NOT = "00" DISPLAY "Error opening file. Status code: " FILE-STATUS-CODE STOP RUN END-IF. READ myFile AT END DISPLAY "End of file reached." NOT AT END IF FILE-STATUS-CODE NOT = "00" DISPLAY "Error reading file. Status code: " FILE-STATUS-CODE STOP RUN END-IF END-READ. CLOSE myFile. STOP RUN.
Explicació
- FILE-STATUS-CODE: Una variable que emmagatzema el codi de retorn de les operacions de fitxer.
- OPEN INPUT myFile: Obre el fitxer per a lectura.
- IF FILE-STATUS-CODE NOT = "00": Comprova si l'operació d'obertura ha estat exitosa. Un codi de retorn de "00" indica èxit.
- READ myFile: Llegeix un registre del fitxer.
- AT END: Gestió de la condició de final de fitxer.
- NOT AT END: Comprova si hi ha hagut un error en la lectura.
- Gestió d'Excepcions
COBOL proporciona mecanismes per gestionar excepcions, com ara les sentències ON ERROR
i INVALID KEY
.
Sentència ON ERROR
La sentència ON ERROR
s'utilitza per gestionar errors en operacions de fitxer.
Exemple d'Ús de ON ERROR
IDENTIFICATION DIVISION. PROGRAM-ID. OnErrorExample. DATA DIVISION. FILE SECTION. FD myFile LABEL RECORDS ARE STANDARD BLOCK CONTAINS 0 RECORDS RECORD CONTAINS 80 CHARACTERS DATA RECORD IS myFileRecord. 01 myFileRecord PIC X(80). WORKING-STORAGE SECTION. 01 FILE-STATUS-CODE PIC XX. PROCEDURE DIVISION. OPEN INPUT myFile ON ERROR DISPLAY "Error opening file. Status code: " FILE-STATUS-CODE STOP RUN END-OPEN. READ myFile AT END DISPLAY "End of file reached." NOT AT END ON ERROR DISPLAY "Error reading file. Status code: " FILE-STATUS-CODE STOP RUN END-READ. CLOSE myFile. STOP RUN.
Explicació
- ON ERROR: Captura errors en l'operació especificada (en aquest cas,
OPEN
iREAD
). - END-OPEN i END-READ: Marquen el final del bloc
ON ERROR
.
- Sentència
INVALID KEY
INVALID KEY
La sentència INVALID KEY
s'utilitza per gestionar errors en operacions de fitxer indexat o relatiu.
Exemple d'Ús de INVALID KEY
IDENTIFICATION DIVISION. PROGRAM-ID. InvalidKeyExample. DATA DIVISION. FILE SECTION. FD indexedFile LABEL RECORDS ARE STANDARD BLOCK CONTAINS 0 RECORDS RECORD CONTAINS 80 CHARACTERS DATA RECORD IS indexedFileRecord. 01 indexedFileRecord PIC X(80). WORKING-STORAGE SECTION. 01 FILE-STATUS-CODE PIC XX. PROCEDURE DIVISION. OPEN I-O indexedFile IF FILE-STATUS-CODE NOT = "00" DISPLAY "Error opening file. Status code: " FILE-STATUS-CODE STOP RUN END-IF. READ indexedFile INVALID KEY DISPLAY "Invalid key error. Status code: " FILE-STATUS-CODE STOP RUN END-READ. CLOSE indexedFile. STOP RUN.
Explicació
- INVALID KEY: Captura errors relacionats amb claus invàlides en operacions de fitxer indexat o relatiu.
- Bones Pràctiques per a la Gestió d'Errors
- Sempre comprova els codis de retorn: Assegura't de comprovar els codis de retorn després de cada operació de fitxer.
- Utilitza blocs
ON ERROR
iINVALID KEY
: Aquests blocs ajuden a gestionar errors de manera més clara i estructurada. - Proporciona missatges d'error clars: Els missatges d'error han de ser clars i informatius per facilitar la depuració.
- Documenta el codi: Documenta les possibles condicions d'error i com es gestionen.
Resum
En aquest tema, hem après com gestionar errors en COBOL utilitzant codis de retorn, la sentència ON ERROR
i la sentència INVALID KEY
. També hem revisat algunes bones pràctiques per assegurar que els nostres programes siguin robustos i fàcils de depurar. La gestió d'errors és essencial per a la creació de programes fiables i mantenibles, i COBOL proporciona diverses eines per aconseguir-ho.
Curs de Programació COBOL
Mòdul 1: Introducció al COBOL
- Què és el COBOL?
- Història del COBOL
- Configuració de l'Entorn COBOL
- Estructura Bàsica d'un Programa COBOL
Mòdul 2: Sintaxi Bàsica del COBOL i Tipus de Dades
Mòdul 3: Estructures de Control
Mòdul 4: Treballant amb Dades
- Gestió d'Arxius en COBOL
- Processament d'Arxius Seqüencials
- Processament d'Arxius Indexats
- Processament d'Arxius Relatius
Mòdul 5: Gestió Avançada de Dades
Mòdul 6: Subprogrames i Programació Modular
Mòdul 7: Gestió d'Errors i Depuració
Mòdul 8: COBOL i Bases de Dades
Mòdul 9: Temes Avançats
- COBOL Orientat a Objectes
- COBOL i Serveis Web
- Optimització del Rendiment
- Millors Pràctiques en Programació COBOL