Schily's LIBRARY FUNCTIONS RAISE(3)
raise() - raises a condition
raise causes the condition signame to be signalled on the
stack, in each frame in order from the most recent (top of
stack) to the oldest. Each frame is checked for a condition
handler for signame or, if one is not found in the frame,
for any_other. If a handler is found, it is called with sig-
name and with arg1, established in the call to handle(), and
arg2, from this call. If a handler is not found, the pro-
cess is repeated in the next older stack frame. If raise()
reaches the end of the stack without finding a handler, it
prints "Condition not caught: condition_name" on stderr and
the process is suspended via abort().
If the handler returns TRUE, raise() returns. Otherwise it
continues just as if it had not found the handler.
handle() and raise() are frequently used with the subrou-
tines longjmp() and setjmp().
Routines that call raise() can choose to ignore the result;
however, they should anticipate the condition in order to
ensure a reasonable outcome to the program.
Joerg Schilling Last change: 15. Juli 1988 1
Man(1) output converted with