No description
Find a file
2014-03-29 14:51:23 +01:00
example.cpp Adds comparison with the classical way 2014-03-29 14:51:23 +01:00
exceptions.h The whole thing 2014-03-14 21:06:56 +01:00
README.md Rename and clean the README 2014-03-14 21:14:53 +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" );