next up previous contents
Next: Files and Directories (file) Up: Simple Data Types and Previous: Memory Management

   
Error Handling (error)

LEDA tests the preconditions of many (not all!) operations. Preconditions are never tested, if the test takes more than constant time. If the test of a precondition fails an error handling routine is called. It takes an integer error number i and a char* error message string s as arguments. It writes s to the diagnostic output (cerr) and terminates the program abnormally if i != 0. Users can provide their own error handling function handler by calling

set_error_handler(handler).

After this function call handler is used instead of the default error handler. handler must be a function of type void handler(int, char*). The parameters are replaced by the error number and the error message respectively.

Operations

void error_handler(int err_no, const char* msg)
    reports error messages by passing err_no and msg to the default error handler.
LedaErrorHandler set_error_handler(void (*err_handler)(int, const char*))
    sets the default error handler to function err_handler. Returns a pointer to the previous error handler.
void catch_system_errors(bool b=true)
    after a call to this function system errors ( e.g. bus errors and segmentation faults) are handled by LEDA's error handler.


next up previous contents
Next: Files and Directories (file) Up: Simple Data Types and Previous: Memory Management
LEDA research project
1998-10-02