Prev | Next |
# include <cppad/utility/error_handler.hpp>
ErrorHandler info(handler)
ErrorHandler::Call(known, line, file, exp, msg)
ErrorHandler
object,
the current CppAD error handler is replaced by
handler
.
When the object is destructed, the previous CppAD error handler is restored.
ErrorHandler
constructor and destructor cannot be called in
parallel
execution mode.
If this rule is not abided by, a raw C++ assert
,
instead of one that uses this error handler, will be generated.
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
is used to store information
that is necessary to restore the previous CppAD error handler.
This restoration is done when the destructor for
info
is called.
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.
handler
argument
known
has prototype
bool known
If it is true, the error being reported is from a know problem.
handler
argument
line
has prototype
int line
It reports the source code line number where the error is detected.
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.
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
.
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.