Title: | FOCUS, from INFORMATION BUILDERS |
Moderator: | ZAYIUS::BROUILLETTE |
Created: | Thu Feb 19 1987 |
Last Modified: | Mon May 05 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 615 |
Total number of notes: | 1779 |
Is it possible in FOCUS to do error trapping ? Using &IORETURN it is possible to detect errors in Dialogue Manager read/write operations and &RETCODE gives the error status of a VMS command. But I would like to detect an error in a TABLE request or a MATCH request to terminate programs in a batch job in a controlled way, so without lots of error messages caused by following TABLE requests which can't execute because of non-existing HOLD-files. This would also give us the opportunity, if an error occures, to display special information in the log-file and to ring some warning bells. Does anyone know how to do this? Rgrds, Andr� van 't Hoog
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
174.1 | note 153 | MEMV01::COPPERSMITH | SYSTEM-W-RELFLT, reality fault | Tue Jan 31 1989 16:13 | 1 |
See note 153. | |||||
174.2 | ANOTHER WAY | FDCV10::MADDEN | Thu Feb 16 1989 11:05 | 26 | |
Another way, TABLE FILE ... ... END ? STAT -RUN -IF &READS EQ 0 GOTO NO_RECS; -ALLDONE -QUIT FOCUS 55 -* -NO_RECS -QUIT FOCUS 99 In the DCL routine $ RETURN_CODE = %X'$STATUS' $ IF RETURN CODE .EQS. 55 do something $ IF RETURN_CODE .EQS. 99 do something The above can be altered to help in MODIFY situations by looking at &ACCEPTS or some of the other statistical variables. Also you can write & stats to a file and read them in DCL procedure to have double error check. Also note 153 is another way. | |||||
174.3 | Use &LINES for MATCH | THRILL::WILS | Joris Wils | Wed Feb 21 1990 16:21 | 19 |
I couldn't get the method in 153 to work, because it isn't clear to me how &RETCODE works. Also when you do a MATCH &READS is not set. &LINES is. So for reporting on MATCH or TABLE I use a separate FEX: MATCH FILE (or TABLE FILE) : : END EX ERRREAD -------------------- -* ERRREAD.FEX -IF &LINES EQ '0' THEN GOTO ERRREAD; -EXIT -* -ERRREAD -VMS DEFINE/JOB FEX$STAT 1 -EXIT |