exception base class for the TBCI NumLib
All exceptions that are generated by the TBCI library are derived from this class.
Currently, the structure uses an exception type depending on the storage object dealt with – so there is TBCI::VecErr, TBCI::MatErr etc.
In a later version, this will be changed to a scheme, where the exception class is based on the type of exception, such as RangeError, BadAlloc, Arithmetic (e.g. div by zero), Convergence, ...
Checking for error conditions such as bound checking ... are only done if ERRCHECK is defined at compile time. Otherwise, the checks are left out for performance reasons. All these checks are implemented using the BCHK macros.
The behaviour in case of error conditions with ERRCHECK defined defaults to reporting the error to stderr / cerr, but continuing the program execution. This allows to find more than one error at a time.
If you define ABORT_ON_ERROR (additionally to ERRCHECK), the error checks will call abort() after printing out the error message. This is useful, when you want to backtrace errors with a debugger.
If you define EXCEPT (additionally to ERRCHECK), an exception is thrown on error conditions, so you might catch and handle such conditions. If you don't, the results will be similar to calling abort() ...
Definition at line 58 of file except.h.