No description
Find a file
2014-03-14 21:06:56 +01:00
example.cpp The whole thing 2014-03-14 21:06:56 +01:00
exceptions.h The whole thing 2014-03-14 21:06:56 +01:00
README The whole thing 2014-03-14 21:06:56 +01:00

A C++ exception class and macros with easy nested declaration and localisation
data.

The point of this system is to permits to easily  add  to  exceptions  instances
some informations about _where_ the exceptions are thrown.

To do so, it uses compilers macros that indicates the current function, file and
line (`__FUNCTION__`, `__FILE__` and `__LINE__` for g++) and merge  those  information
with  the  given  description  returned   by   the   _what_   standard   method.

Example:
`throw Existential_Observation( "Shit happens", E_INFOS );`

Additionaly, it permits a one-line declaration of new exceptions, derived from
existing ones.

Example:
`EXCEPTION( Exception, Existential_Observation );
    EXCEPTION( Existential_Observation, Pastafarism_Observation );`

Note that the base "Exception" class derivate from std::exception.

It also provides a macro to easily throw an exception
that permits to use dynamic streamed messages inline and
without having to specify E_INFOS.

Example:
    `RAISE( Pastafarism_Observation, "Shit happens with " << 42 << " noodly appendages" );`