X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FException.cci;h=b745f8056ee7e6625eb5cda9faf2434322629092;hb=16d94efc2159cba35fc44e5b26747ae0a2ab237b;hp=84f5d7b0e058f095491995a20606d98d62da3055;hpb=1d247d12d1759ffd77f456efe3a52f03dd289994;p=senf.git diff --git a/Utils/Exception.cci b/Utils/Exception.cci index 84f5d7b..b745f80 100644 --- a/Utils/Exception.cci +++ b/Utils/Exception.cci @@ -29,25 +29,39 @@ /////////////////////////////////////////////////////////////////////////// // senf::Exception + prefix_ senf::Exception::Exception(std::string const & description) : message_(description) {} +prefix_ std::string const & senf::Exception::message() + const +{ + return message_; +} + +prefix_ void senf::Exception::append(std::string text) +{ + message_ += text; +} + /////////////////////////////////////////////////////////////////////////// +// senf::SystemException -prefix_ senf::SystemException::SystemException(std::string const & where) +prefix_ senf::SystemException::SystemException(std::string const & descr _SENF_EXC_DEBUG_ARGS_ND) { - init(where, errno); + init(descr, errno _SENF_EXC_DEBUG_ARGS_P); } -prefix_ senf::SystemException::SystemException(int code) +prefix_ senf::SystemException::SystemException(int code _SENF_EXC_DEBUG_ARGS_ND) { - init("", code); + init("", code _SENF_EXC_DEBUG_ARGS_P); } -prefix_ senf::SystemException::SystemException(std::string const & where, int code) +prefix_ senf::SystemException::SystemException(std::string const & descr, int code + _SENF_EXC_DEBUG_ARGS_ND) { - init(where, code); + init(descr, code _SENF_EXC_DEBUG_ARGS_P); } prefix_ int senf::SystemException::errorNumber() @@ -56,7 +70,7 @@ prefix_ int senf::SystemException::errorNumber() return code_; } -prefix_ char const * senf::SystemException::description() +prefix_ char const * senf::SystemException::errorString() const { return std::strerror(code_); @@ -82,14 +96,6 @@ prefix_ senf::SystemException::~SystemException() throw() {} -prefix_ void senf::SystemException::init(std::string const & where, int code) -{ - code_ = code; - if (! where.empty()) - (*this) << where << ": "; - (*this) << "(" << code << ") " << description(); -} - ///////////////////////////////cci.e/////////////////////////////////////// #undef prefix_