summaryrefslogtreecommitdiffabout
path: root/lib
Unidiff
Diffstat (limited to 'lib') (more/less context) (ignore whitespace changes)
-rw-r--r--lib/exception.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/exception.cc b/lib/exception.cc
index 510982e..0b775f7 100644
--- a/lib/exception.cc
+++ b/lib/exception.cc
@@ -1,29 +1,45 @@
1#include <openssl/err.h> 1#include <openssl/err.h>
2#include <curl/curl.h> 2#include <curl/curl.h>
3#include <opkele/exception.h> 3#include <opkele/exception.h>
4#include <opkele/debug.h>
4 5
5namespace opkele { 6namespace opkele {
6 7
7# ifndef OPKELE_HAVE_KONFORKA 8# ifndef OPKELE_HAVE_KONFORKA
8 9
10 exception::exception(const string& w)
11 : _what(w)
12 {
13 DOUT_("throwing exception(\""<<w<<"\")");
14 }
15
9 exception::~exception() throw() { 16 exception::~exception() throw() {
10 } 17 }
11 const char *exception::what() const throw() { 18 const char *exception::what() const throw() {
12 return _what.c_str(); 19 return _what.c_str();
13 } 20 }
21
22# else
14 23
24 exception::exception(const string& fi,const string& fu,int l,const string& w)
25 : konforka::exception(fi,fu,l,w)
26 {
27 DOUT_("throwing exception(\""<<w<<"\")");
28 DOUT_(" from "<<fi<<':'<<fu<<':'<<l);
29 }
30
15# endif 31# endif
16 32
17 exception_openssl::exception_openssl(OPKELE_E_PARS) 33 exception_openssl::exception_openssl(OPKELE_E_PARS)
18 : exception(OPKELE_E_CONS_ w+" ["+ERR_error_string(ERR_peek_last_error(),0)+']'), 34 : exception(OPKELE_E_CONS_ w+" ["+ERR_error_string(ERR_peek_last_error(),0)+']'),
19 _error(ERR_peek_last_error()), 35 _error(ERR_peek_last_error()),
20 _ssl_string(ERR_error_string(_error,0)) { 36 _ssl_string(ERR_error_string(_error,0)) {
21 } 37 }
22 38
23 exception_curl::exception_curl(OPKELE_E_PARS) 39 exception_curl::exception_curl(OPKELE_E_PARS)
24 : exception_network(OPKELE_E_CONS), _error(CURLE_OK) { } 40 : exception_network(OPKELE_E_CONS), _error(CURLE_OK) { }
25 exception_curl::exception_curl(OPKELE_E_PARS,CURLcode e) 41 exception_curl::exception_curl(OPKELE_E_PARS,CURLcode e)
26 : exception_network(OPKELE_E_CONS_ w+" ["+curl_easy_strerror(e)+']'), 42 : exception_network(OPKELE_E_CONS_ w+" ["+curl_easy_strerror(e)+']'),
27 _error(e), _curl_string(curl_easy_strerror(e)) { } 43 _error(e), _curl_string(curl_easy_strerror(e)) { }
28 44
29} 45}