-rw-r--r-- | include/opkele/exception.h | 8 | ||||
-rw-r--r-- | lib/exception.cc | 10 |
2 files changed, 16 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 @@ -29,5 +29,6 @@ # 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 @@ -75,7 +76,10 @@ namespace opkele { : 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 */ }; diff --git a/lib/exception.cc b/lib/exception.cc index b7c1702..4fe6c87 100644 --- a/lib/exception.cc +++ b/lib/exception.cc @@ -5,4 +5,14 @@ namespace opkele { +# ifndef OPKELE_HAVE_KONFORKA + + exception::~exception() throw() { + } + const char *exception::what() const throw() { + return _what.c_str(); + } + +# endif + exception_openssl::exception_openssl(OPKELE_E_PARS) : _error(ERR_peek_last_error()), |