///////////////////////////////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),
+ message_(description)
+{
+#ifdef SENF_DEBUG
+ addBacktrace();
+#endif
+}
-prefix_ std::string const & senf::Exception::message()
+prefix_ std::string const & senf::ExceptionMixin::message()
const
{
return message_;
}
-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)