2004-08-28 16:21:25 +00:00
|
|
|
/** @file
|
|
|
|
|
|
|
|
$Id$
|
|
|
|
|
|
|
|
$Date$
|
|
|
|
$Author$
|
|
|
|
|
|
|
|
@copy © Marc Wäckerlin
|
|
|
|
@license LGPL, see file <a href="license.html">COPYING</a>
|
|
|
|
|
|
|
|
$Log$
|
|
|
|
Revision 1.2 2004/08/28 16:21:25 marc
|
|
|
|
mrw-c++-0.92 (mrw)
|
|
|
|
- new file: version.cpp
|
|
|
|
- new file header for all sources
|
|
|
|
- work around warning in mrw::auto<T>
|
|
|
|
- possibility to compile without log4cxx
|
|
|
|
- work around bugs in demangle.h and libiberty.h
|
|
|
|
- corrections in documentation
|
|
|
|
- added simple tracing mechanism
|
|
|
|
- more warnings
|
|
|
|
- small corrections in Auto<>::Free and a new test for it
|
|
|
|
- possibility to compile without stack trace
|
|
|
|
|
|
|
|
*/
|
2004-04-21 06:39:20 +00:00
|
|
|
#include <mrw/exception.hpp>
|
2004-08-28 16:21:25 +00:00
|
|
|
|
|
|
|
#ifdef HAVE_STACKTRACE
|
|
|
|
# include <mrw/stacktrace.hpp>
|
|
|
|
#else
|
|
|
|
namespace mrw {
|
|
|
|
class StackTrace {
|
|
|
|
public:
|
|
|
|
operator std::string() throw() {return "";}
|
|
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|
2004-04-21 06:39:20 +00:00
|
|
|
|
|
|
|
namespace mrw {
|
|
|
|
exception::exception() throw(std::bad_exception):
|
|
|
|
_stacktrace(new StackTrace) {
|
|
|
|
}
|
|
|
|
exception::~exception() throw() {
|
|
|
|
delete _stacktrace;
|
|
|
|
}
|
|
|
|
const std::string& exception::stacktrace() const throw(std::bad_exception) {
|
|
|
|
static const std::string st(*_stacktrace);
|
|
|
|
return st;
|
|
|
|
}
|
|
|
|
}
|