Files
mrw-cxx/src/mrw/exception.cpp

51 lines
1.1 KiB
C++
Raw Normal View History

/** @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>
#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;
}
}