Table of Contents

Contents
            4.2.6 IBIS Error-Handling Routines
                  4.2.6.1 IBISSignal
                  4.2.6.2 IBISSignalU

4.2.6 IBIS Error-Handling Routines

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  "

4.2.6.1 IBISSignal

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.

4.2.6.2 IBISSignalU

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.