The following is an example of how an ALGOL program could detect errors by using the result returned by CRCR and STOQ functions.
EBCDIC ARRAY CRCR_PGM_NAME [0:255];
INTEGER CRCR_PGM_NAME_LEN;
EBCDIC ARRAY CRCR_DATA [0:19999];
REAL CRCR_FLAGS, RESULT_STATUS;
LIBRARY EVASUPPORT (LIBACCESS = BYFUNCTION,
FUNCTIONNAME = “EVASUPPORT.”);
REAL PROCEDURE CRCR_RECV (CRCR_PGM_NAME,
CRCR_PGM_NAME_LEN,
CRCR_DATA,
CRCR_FLAGS);
EBCDIC ARRAY CRCR_PGM_NAME [*];
INTEGER CRCR_PGM_NAME_LEN;
EBCDIC ARRAY CRCR_DATA [0];
REAL CRCR_FLAGS;
LIBRARY EVASUPPORT;
REPLACE CRCR_DATA[0] BY “DATA MESSAGE”;
REPLACE CRCR_PGM_NAME[0] BY “(USER)PROGRAM/NAME”;
CRCR_PGM_NAME_LEN:= 18;
CRCR_FLAGS:= 0; % WAIT FOR HOOKUP
IF BOOLEAN(RESULT_STATUS:=
CRCR_RECV(CRCR_PGM_NAME, CRCR_PGM_NAME_LEN,
CRCR_DATA, CRCR_FLAGS))
THEN
IF BOOLEAN(RESULT_STATUS.[10:1]) THEN
DISPLAY(“CRCR ERROR”)
ELSE
DISPLAY(“STOQ ERROR”);Because fatal errors cause the program to be terminated, the program does not need to check whether the error returned is fatal or nonfatal.

