X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fexcept.cpp;h=bdcdd7df3da312b5f613630da9a67ec11ab8d0c5;hb=a1d6fa071280123f282c1bac3b68008672401024;hp=7ac634d9a30c9ef9c8f8dec01633b5c950c96ef8;hpb=20e1beb546c26eae3b1a61ab2051108a7dca221f;p=libs%2Fcore.git diff --git a/source/core/except.cpp b/source/core/except.cpp index 7ac634d..bdcdd7d 100644 --- a/source/core/except.cpp +++ b/source/core/except.cpp @@ -1,46 +1,62 @@ /* $Id$ This file is part of libmspcore -Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions +Copyright © 2006-2008 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ #include #include +#ifdef WIN32 +#include +#endif #include "except.h" using namespace std; namespace Msp { -Exception::Exception(const string &w_): - w(w_) +Exception::Exception(const string &w): + wot(w) { #ifdef WITH_EXCEPTION_BACKTRACE - bt=Debug::Backtrace::create(); + bt = Debug::Backtrace::create(); #endif } +Exception &Exception::at(const std::string &w) throw() +{ + wer = w; + wot = wer+": "+wot; + return *this; +} + + SystemError::SystemError(const string &w_, int e): Exception(build_what(w_, e)), err(e) { } -KeyError::KeyError(const string &w_, const string &k): - Exception(w_+" ("+k+")"), - key(k) -{ } - string SystemError::build_what(const string &w, int e) { ostringstream buf; buf<