X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FException.cci;h=6f7e13dc08ebf1c27bc44766b761d05d44393d30;hb=af1d0936ba912bb301ac6604965df5b28d79c63e;hp=1b611a2c1ab8ca08d2865d55b66ac03ce1b3e1c5;hpb=8ec0b7ed2df36144b52df5aa40497fc5409c31f7;p=senf.git diff --git a/Utils/Exception.cci b/Utils/Exception.cci index 1b611a2..6f7e13d 100644 --- a/Utils/Exception.cci +++ b/Utils/Exception.cci @@ -28,28 +28,49 @@ ///////////////////////////////cci.p/////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// -// senf::Exception +// senf::ExceptionMixin -prefix_ senf::Exception::Exception(std::string const & description) - : message_(description) +prefix_ senf::ExceptionMixin::ExceptionMixin(std::string const & description) + : what_(description) { #ifdef SENF_DEBUG addBacktrace(); #endif } -prefix_ std::string const & senf::Exception::message() +prefix_ std::string senf::ExceptionMixin::message() + const +{ +#ifdef SENF_DEBUG + return what_.substr(excLen_); +#else + return what_; +#endif +} + +prefix_ std::string senf::ExceptionMixin::backtrace() const { - return message_; +#ifdef SENF_DEBUG + return what_.substr(0,excLen_-4); +#else + return ""; +#endif } -prefix_ void senf::Exception::append(std::string text) +prefix_ void senf::ExceptionMixin::append(std::string text) { - message_ += text; + what_ += text; } /////////////////////////////////////////////////////////////////////////// +// senf::Exception + +prefix_ senf::Exception::Exception(std::string const & description) + : ExceptionMixin(description) +{} + +/////////////////////////////////////////////////////////////////////////// // senf::SystemException prefix_ senf::SystemException::SystemException(std::string const & descr _SENF_EXC_DEBUG_ARGS_ND)