Compiler Library/XL Reference Manual (32650-90029)
A- 1
Appendix A Compiler Library Error Messages
This appendix describes Compiler Library error handling, the intrinsic
function XLIBTRAP, and lists error messages.
Many of the Compiler Library procedures detect errors in processed data.
When error detection occurs, the procedures call an error routine that
reports the error conditions and aborts your program.
The error message format is as follows:
procedure name: message
For example,
**** ALOG(X): X < 0.0 OR X=NaN (MATHERR26)
The same number may correspond to more than one error message. This
appendix uses the letters A, B, or C to differentiate between these
messages, as shown in the example below:
19 MESSAGE A. DTAN(X): X=NaN OR INFINITY
B. DTAN(X): TOTAL LOSS OF PRECISION
XLIBTRAP
Using the HP FORTRAN 77/XL compiler, you can override the process
described above by using the ON statement. For more details, see the
HP
FORTRAN 77/XL Reference Manual
. You can also override the normal error
functions and specify your own error procedure by using the intrinsic
function XLIBTRAP, which has the following format:
PROCEDURE xlibtrap;intrinsic;
or
PROCEDURE xlibtrap (plabel:INTEGER; VAR oldplabel: INTEGER);
EXTERNAL;
where
plabel = external label of the user-written error
procedure to disarm the library trap
mechanisms. If plabel equals zero, control is
not
passed to a user error procedure.
oldplabel = original plabel; returned to permit the user to
return to the previous conditions.
Execution proceeds as follows:
1. A library procedure finds an error and calls the library error
handler.
2. The library error handler checks for a user-written error
procedure or checks for an indication to ignore the trap. To
ignore the trap, use the following
HP FORTRAN 77/XL statements:
ON EXTERNAL ERROR IGNORE
ON INTERNAL ERROR IGNORE