|
The following error handling functions and macros are used by
ACIS to catch and control errors. Applications may also need to use these when using the
ACIS direct function or class interfaces (i.e., non-APIs). The functions and macros are listed in the order of execution:
|
|
|
error_begin
|
Establishes
ACIS signal handling. Each call to
error_begin must be offset by a corresponding call to
error_end. Calls to these two routines may be nested. The outermost call to
error_begin establishes signal handlers, resets the warning count, and resets the error hardness level. Each call to
error_begin increments the error level.
|
|
|
error_harden
|
Inhibits processing of user interrupts. Each call to
error_harden increments the error hardness level. User interrupts temporarily ignored while the error hardness level is greater than zero. All other signals and errors are processed normally.
|
|
|
error_soften
|
Enables processing of user interrupts. Each call to
error_soften decrements the error hardness level. When the error hardness level reaches zero, any user interrupt that was ignored is processed.
|
|
|
error_end
|
Resets signal handling. Each call to
error_end decrements the error level. When the error level reaches zero,
error_end resets the signal handlers to those that were in effect when the corresponding call to
error_begin was made. If a user interrupt was seen, The application's interrupt signal handler is called.
|
|
|
sys_error
|
Signals
ACIS errors and interrupts. The errors reported using this function are fatal errors. If the
crash option is on, the function causes a core dump. Otherwise, it transfers control to the innermost active
ERROR_BEGIN macro, setting its error_no to the specified error code..
|
|
|
sys_warning
|
Reports unexpected, nonfatal events that occurred during the course of the execution. It saves the error code given as input in an
err_mess_type global array. Like
sys_error, this routine checks for the
crash option. If the option is on, it prints the message associated with the current error code. Otherwise, the application must process this warnings.
|