diff --git a/README b/README deleted file mode 100644 index f3a35fb..0000000 --- a/README +++ /dev/null @@ -1,30 +0,0 @@ - -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" );` - diff --git a/README.md b/README.md new file mode 100644 index 0000000..8ac7e9a --- /dev/null +++ b/README.md @@ -0,0 +1,35 @@ + +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: +```cpp +throw Existential_Observation( "Shit happens", E_INFOS ); +``` + +Additionaly, it permits a one-line declaration of new exceptions, derived from +existing ones. + +Example: +```cpp +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: +```cpp +RAISE( Pastafarism_Observation, "Shit happens with " << 42 << " noodly appendages" ); +``` +