summaryrefslogtreecommitdiffabout
path: root/lib/exception.cc
Side-by-side diff
Diffstat (limited to 'lib/exception.cc') (more/less context) (ignore whitespace changes)
-rw-r--r--lib/exception.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/exception.cc b/lib/exception.cc
new file mode 100644
index 0000000..b7c1702
--- a/dev/null
+++ b/lib/exception.cc
@@ -0,0 +1,22 @@
+#include <openssl/err.h>
+#include <curl/curl.h>
+#include <opkele/exception.h>
+
+namespace opkele {
+
+ exception_openssl::exception_openssl(OPKELE_E_PARS)
+ : _error(ERR_peek_last_error()),
+ _ssl_string(ERR_error_string(_error,0)),
+ exception(OPKELE_E_CONS_ w+" ["+_ssl_string+']') {
+ }
+
+ exception_curl::exception_curl(OPKELE_E_PARS)
+ : _error(CURLE_OK),
+ exception_network(OPKELE_E_CONS) { }
+ exception_curl::exception_curl(OPKELE_E_PARS,CURLcode e)
+ : _error(e),
+ _curl_string(curl_easy_strerror(e)),
+ exception_network(OPKELE_E_CONS_ w+" ["+_curl_string+']') {
+ }
+
+}