Parte ii - IIS Marconi Latina - Area didattica
Parte ii - IIS Marconi Latina - Area didattica
Parte ii - IIS Marconi Latina - Area didattica
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
932 volume V Programmazione<br />
Tenendo conto che le parole chiave ‘EXCEPTION’ e ‘ERROR’ del modello sono equivalenti, si<br />
intende che questa istruzione serve ad attivare la sezione che la contiene se si verifica una<br />
condizione di errore, che non sia stato gestito diversamente all’interno del programma, riguardante:<br />
un certo file (file-name), un file qualunque aperto in lettura (‘INPUT’), scrittura<br />
(‘OUTPUT’), lettura e scrittura (‘I-O’) o in estensione (‘EXTEND’).<br />
Viene mostrato l’esempio di un piccolo programma completo, che ha lo scopo di leggere un<br />
file (‘input.txt’) e di mostrarne il contenuto sullo schermo:<br />
|000100 IDENTIFICATION DIVISION.<br />
|000200 PROGRAM-ID. TEST-DECLARATIVES.<br />
|000300 AUTHOR. DANIELE GIACOMINI.<br />
|000400 DATE-WRITTEN. 2005-02-26.<br />
|000500*<br />
|000600 ENVIRONMENT DIVISION.<br />
|000700*<br />
|000800 INPUT-OUTPUT SECTION.<br />
|000900*<br />
|001000 FILE-CONTROL.<br />
|001100*<br />
|001200 SELECT FILE-DA-LEGGERE ASSIGN TO "input.txt"<br />
|001300 ORGANIZATION IS LINE SEQUENTIAL<br />
|001400 FILE STATUS IS STATO-FILE-DA-LEGGERE.<br />
|001500*<br />
|001600 DATA DIVISION.<br />
|001700*<br />
|001800 FILE SECTION.<br />
|001900*<br />
|002000 FD FILE-DA-LEGGERE.<br />
|002100 01 RECORD-DA-LEGGERE PIC X(79).<br />
|002200*<br />
|002300 WORKING-STORAGE SECTION.<br />
|002400 77 STATO-FILE-DA-LEGGERE PIC XX.<br />
|002500*<br />
|002600 PROCEDURE DIVISION.<br />
|002700*<br />
|002800 DECLARATIVES.<br />
|002900 FILE-ACCESS-ERROR SECTION.<br />
|003000 USE AFTER STANDARD ERROR PROCEDURE ON INPUT.<br />
|003100 FILE-ACCESS-ERROR-RECOVERY.<br />
|003200 DISPLAY "FILE ACCESS ERROR: ", STATO-FILE-DA-LEGGERE.<br />
|003300 STOP RUN.<br />
|003400 END DECLARATIVES.<br />
|003500*<br />
|003550 MAIN-PROCEDURE SECTION.<br />
|003600 MAIN.<br />
|003700 OPEN INPUT FILE-DA-LEGGERE.<br />
|003800 PERFORM LETTURA UNTIL 0 = 1.<br />
|003900 CLOSE FILE-DA-LEGGERE.<br />
|004000*<br />
|004100 STOP RUN.<br />
|004200*<br />
|004300 LETTURA.<br />
|004400 READ FILE-DA-LEGGERE.