Prev Next Index-> contents reference index search external Up-> CppAD utility ErrorHandler CppAD-> Install Introduction AD ADFun preprocessor multi_thread utility ipopt_solve Example speed Appendix utility-> ErrorHandler NearEqual speed_test SpeedTest time_test test_boolofvoid NumericType CheckNumericType SimpleVector CheckSimpleVector nan pow_int Poly LuDetAndSolve RombergOne RombergMul Runge45 Rosen34 OdeErrControl OdeGear OdeGearControl CppAD_vector thread_alloc index_sort to_string set_union sparse_rc sparse_rcv ErrorHandler-> error_handler.cpp cppad_assert Headings-> Syntax Constructor ---..Parallel Mode Call info handler known line file exp msg Example


Syntax
# include <cppad/utility/error_handler.hpp>  ErrorHandler info(handler)  ErrorHandler::Call(known, line, file, exp, msg) 
Constructor
When you construct a ErrorHandler object, the current CppAD error handler is replaced by handler . When the object is destructed, the previous CppAD error handler is restored.

Parallel Mode
The ErrorHandler constructor and destructor cannot be called in parallel execution mode. Furthermore, this rule is not abided by, a raw C++ assert, instead of one that uses this error handler, will be generated.

Call
When ErrorHandler::Call is called, the current CppAD error handler is used to report an error. This starts out as a default error handler and can be replaced using the ErrorHandler constructor.

info
The object info is used to store information that is necessary to restore the previous CppAD error handler. This is done when the destructor for info is called.

handler
The argument handler has prototype       void (*handler)           (bool, int, const char *, const char *, const char *);  When an error is detected, it is called with the syntax       handler (known, line, file, exp, msg)  This routine should not return; i.e., upon detection of the error, the routine calling handler does not know how to proceed.

known
The handler argument known has prototype       bool known  If it is true, the error being reported is from a know problem.

line
The handler argument line has prototype       int line  It reports the source code line number where the error is detected.

file
The handler argument file has prototype       const char *file  and is a '\0' terminated character vector. It reports the source code file where the error is detected.

exp
The handler argument exp has prototype       const char *exp  and is a '\0' terminated character vector. It is a source code boolean expression that should have been true, but is false, and thereby causes this call to handler .

msg
The handler argument msg has prototype       const char *msg  and is a '\0' terminated character vector. It reports the meaning of the error from the C++ programmers point of view.

Example
The file error_handler.cpp contains an example and test a test of using this routine. It returns true if it succeeds and false otherwise.