4.2.6 IBIS Error-Handling Routines 220.127.116.11 IBISSignal 18.104.22.168 IBISSignalU
The following routines handle all of the error status values returned from IBIS subroutine calls. As the library depends upon the VICAR runtime library, some of these status values may have been the result of a runtime error, and so they will handle the errors appropriately.
The symbolic names of the errors generated by the IBIS sublib may be found in the include file "ibisfile.h".
The messages generated are similar in form to the VICAR runtime library messages, and have the general format:
[IBIS-keyword] '<message - string>'
The keywords and their meanings are listed in Appendix C. Online help is also available whenever these signals are generated by using the "?" command, or at any time by giving the command
VICAR> "HELP-MESSAGE IBIS-keyword "
IBISSignal( ibis, status, abend_flag ); call ibis_signal( ibis, status, abend_flag ) ibis input integer status input integer abend_flag input integer
Print out IBIS error message from status and abort if requested. This routine is analogous to xvsignal, in the runtime library; prints error message for IBIS subroutine error value status, or VICAR error message if recognized as such, also, if the status parameter indicates an error and abend_flag is TRUE (non-zero), the subroutine will invoke zabend, aborting the program without returning.
IBISSignalU( unit, status, abend_flag ); call ibis_signal_u( unit, status, abend_flag ) unit input integer status input integer abend_flag input integer
This routine is identical in behavior to IBISSignal, except that the VICAR unit unit is passed in rather than the IBIS file handle. This routine is usually only necessary in case of an error status in IBISFileOpen/Close, in which the ibis file handle itself may no longer be valid.