Schily's LIBRARY FUNCTIONS                               RAISE(3)


     raise() - raises a condition


     raise(signame, arg2)
          char *signame;
          long arg2;


     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 man2html

FhG Schily's Home VED powered