author | Michael Krelin <hacker@klever.net> | 2008-01-01 14:09:08 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2008-01-04 18:24:38 (UTC) |
commit | b52ad4dc051835fdf8417f748bf40ba4c17449d4 (patch) (side-by-side diff) | |
tree | 01c9fd136f2dcf8f16c7f016b1fdf8e5582b0182 | |
parent | 15d089da9f7682bc3524b6a278cfcd64621e7db2 (diff) | |
download | libopkele-b52ad4dc051835fdf8417f748bf40ba4c17449d4.zip libopkele-b52ad4dc051835fdf8417f748bf40ba4c17449d4.tar.gz libopkele-b52ad4dc051835fdf8417f748bf40ba4c17449d4.tar.bz2 |
output thrown exceptions to clog stream
Signed-off-by: Michael Krelin <hacker@klever.net>
-rw-r--r-- | include/Makefile.am | 3 | ||||
-rw-r--r-- | include/opkele/debug.h | 17 | ||||
-rw-r--r-- | include/opkele/exception.h | 7 | ||||
-rw-r--r-- | lib/exception.cc | 16 |
4 files changed, 37 insertions, 6 deletions
diff --git a/include/Makefile.am b/include/Makefile.am index 26cb614..1076c12 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -14,7 +14,8 @@ nobase_include_HEADERS = \ opkele/discovery.h \ opkele/uris.h \ opkele/tr1-mem.h EXTRA_DIST = \ opkele/data.h \ opkele/curl.h opkele/expat.h \ - opkele/util.h + opkele/util.h \ + opkele/debug.h diff --git a/include/opkele/debug.h b/include/opkele/debug.h new file mode 100644 index 0000000..a02f8d4 --- a/dev/null +++ b/include/opkele/debug.h @@ -0,0 +1,17 @@ +#ifndef __OPKELE_DEBUG_H +#define __OPKELE_DEBUG_H + +#ifdef NDEBUG + +#define D_(x) ((void)0) +#define DOUT_(x) ((void)0) + +#else /* NDEBUG */ + +#define D_(x) x +#include <iostream> +#define DOUT_(x) std::clog << x << std::endl + +#endif /* NDEBUG */ + +#endif /* __OPKELE_DEBUG_H */ diff --git a/include/opkele/exception.h b/include/opkele/exception.h index 36bd07a..64f189e 100644 --- a/include/opkele/exception.h +++ b/include/opkele/exception.h @@ -74,19 +74,16 @@ namespace opkele { std::exception # endif { public: # ifdef OPKELE_HAVE_KONFORKA explicit - exception(const string& fi,const string& fu,int l,const string& w) - : konforka::exception(fi,fu,l,w) { } + exception(const string& fi,const string& fu,int l,const string& w); # else /* OPKELE_HAVE_KONFORKA */ string _what; - explicit - exception(const string& w) - : _what(w) { } + explicit exception(const string& 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 510982e..0b775f7 100644 --- a/lib/exception.cc +++ b/lib/exception.cc @@ -1,20 +1,36 @@ #include <openssl/err.h> #include <curl/curl.h> #include <opkele/exception.h> +#include <opkele/debug.h> namespace opkele { # ifndef OPKELE_HAVE_KONFORKA + exception::exception(const string& w) + : _what(w) + { + DOUT_("throwing exception(\""<<w<<"\")"); + } + exception::~exception() throw() { } const char *exception::what() const throw() { return _what.c_str(); } + +# else + exception::exception(const string& fi,const string& fu,int l,const string& w) + : konforka::exception(fi,fu,l,w) + { + DOUT_("throwing exception(\""<<w<<"\")"); + DOUT_(" from "<<fi<<':'<<fu<<':'<<l); + } + # endif exception_openssl::exception_openssl(OPKELE_E_PARS) : exception(OPKELE_E_CONS_ w+" ["+ERR_error_string(ERR_peek_last_error(),0)+']'), _error(ERR_peek_last_error()), _ssl_string(ERR_error_string(_error,0)) { |