-rw-r--r-- | include/opkele/exception.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/opkele/exception.h b/include/opkele/exception.h index 2ac0661..c5f5811 100644 --- a/include/opkele/exception.h +++ b/include/opkele/exception.h @@ -25,13 +25,14 @@ # define OPKELE_CP_ CODEPOINT, /** * the simple rethrow of konforka-based exception */ # define OPKELE_RETHROW catch(konforka::exception& e) { e.see(CODEPOINT); throw } #else /* OPKELE_HAVE_KONFORKA */ -# include <stdexcept> +# include <exception> +# include <string> /** * the exception parameter declaration */ # define OPKELE_E_PARS const string& w /** * the dummy prefix for exception parameters list to prepend in the absence of @@ -71,15 +72,18 @@ namespace opkele { public: # ifdef OPKELE_HAVE_KONFORKA explicit exception(const string& fi,const string& fu,int l,const string& w) : konforka::exception(fi,fu,l,w) { } # else /* OPKELE_HAVE_KONFORKA */ + string _what; explicit exception(const string& w) - : std::exception(w) { } + : _what(w) { } + virtual ~exception() throw(); + virtual const char * what() const throw(); # endif /* OPKELE_HAVE_KONFORKA */ }; /** * thrown in case of failed conversion */ |