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) (unidiff) | |
tree | 01c9fd136f2dcf8f16c7f016b1fdf8e5582b0182 /include/opkele | |
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/opkele/debug.h | 17 | ||||
-rw-r--r-- | include/opkele/exception.h | 7 |
2 files changed, 19 insertions, 5 deletions
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 @@ | |||
1 | #ifndef __OPKELE_DEBUG_H | ||
2 | #define __OPKELE_DEBUG_H | ||
3 | |||
4 | #ifdef NDEBUG | ||
5 | |||
6 | #define D_(x) ((void)0) | ||
7 | #define DOUT_(x)((void)0) | ||
8 | |||
9 | #else /* NDEBUG */ | ||
10 | |||
11 | #define D_(x) x | ||
12 | #include <iostream> | ||
13 | #define DOUT_(x)std::clog << x << std::endl | ||
14 | |||
15 | #endif /* NDEBUG */ | ||
16 | |||
17 | #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 | |||
@@ -68,31 +68,28 @@ namespace opkele { | |||
68 | * the base opkele exception class | 68 | * the base opkele exception class |
69 | */ | 69 | */ |
70 | class exception : public | 70 | class exception : public |
71 | # ifdef OPKELE_HAVE_KONFORKA | 71 | # ifdef OPKELE_HAVE_KONFORKA |
72 | konforka::exception | 72 | konforka::exception |
73 | # else | 73 | # else |
74 | std::exception | 74 | std::exception |
75 | # endif | 75 | # endif |
76 | { | 76 | { |
77 | public: | 77 | public: |
78 | # ifdef OPKELE_HAVE_KONFORKA | 78 | # ifdef OPKELE_HAVE_KONFORKA |
79 | explicit | 79 | explicit |
80 | exception(const string& fi,const string& fu,int l,const string& w) | 80 | exception(const string& fi,const string& fu,int l,const string& w); |
81 | : konforka::exception(fi,fu,l,w) { } | ||
82 | # else /* OPKELE_HAVE_KONFORKA */ | 81 | # else /* OPKELE_HAVE_KONFORKA */ |
83 | string _what; | 82 | string _what; |
84 | explicit | 83 | explicit exception(const string& w); |
85 | exception(const string& w) | ||
86 | : _what(w) { } | ||
87 | virtual ~exception() throw(); | 84 | virtual ~exception() throw(); |
88 | virtual const char * what() const throw(); | 85 | virtual const char * what() const throw(); |
89 | # endif /* OPKELE_HAVE_KONFORKA */ | 86 | # endif /* OPKELE_HAVE_KONFORKA */ |
90 | }; | 87 | }; |
91 | 88 | ||
92 | /** | 89 | /** |
93 | * thrown in case of failed conversion | 90 | * thrown in case of failed conversion |
94 | */ | 91 | */ |
95 | class failed_conversion : public exception { | 92 | class failed_conversion : public exception { |
96 | public: | 93 | public: |
97 | failed_conversion(OPKELE_E_PARS) | 94 | failed_conversion(OPKELE_E_PARS) |
98 | : exception(OPKELE_E_CONS) { } | 95 | : exception(OPKELE_E_CONS) { } |