summaryrefslogtreecommitdiffabout
authorMichael Krelin <hacker@klever.net>2008-01-01 14:09:08 (UTC)
committer Michael Krelin <hacker@klever.net>2008-01-04 18:24:38 (UTC)
commitb52ad4dc051835fdf8417f748bf40ba4c17449d4 (patch) (side-by-side diff)
tree01c9fd136f2dcf8f16c7f016b1fdf8e5582b0182
parent15d089da9f7682bc3524b6a278cfcd64621e7db2 (diff)
downloadlibopkele-b52ad4dc051835fdf8417f748bf40ba4c17449d4.zip
libopkele-b52ad4dc051835fdf8417f748bf40ba4c17449d4.tar.gz
libopkele-b52ad4dc051835fdf8417f748bf40ba4c17449d4.tar.bz2
output thrown exceptions to clog stream
Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--include/Makefile.am3
-rw-r--r--include/opkele/debug.h17
-rw-r--r--include/opkele/exception.h7
-rw-r--r--lib/exception.cc16
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
@@ -19,2 +19,3 @@ EXTRA_DIST = \
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
@@ -79,9 +79,6 @@ namespace opkele {
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();
diff --git a/lib/exception.cc b/lib/exception.cc
index 510982e..0b775f7 100644
--- a/lib/exception.cc
+++ b/lib/exception.cc
@@ -3,2 +3,3 @@
#include <opkele/exception.h>
+#include <opkele/debug.h>
@@ -8,2 +9,8 @@ namespace opkele {
+ exception::exception(const string& w)
+ : _what(w)
+ {
+ DOUT_("throwing exception(\""<<w<<"\")");
+ }
+
exception::~exception() throw() {
@@ -14,2 +21,11 @@ namespace opkele {
+# 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