summaryrefslogtreecommitdiffabout
path: root/include
Side-by-side diff
Diffstat (limited to 'include') (more/less context) (ignore whitespace changes)
-rw-r--r--include/opkele/exception.h8
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
*/