summaryrefslogtreecommitdiffstats
path: root/comm/third_party/botan/src/cli/cli_exceptions.h
diff options
context:
space:
mode:
Diffstat (limited to 'comm/third_party/botan/src/cli/cli_exceptions.h')
-rw-r--r--comm/third_party/botan/src/cli/cli_exceptions.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/comm/third_party/botan/src/cli/cli_exceptions.h b/comm/third_party/botan/src/cli/cli_exceptions.h
new file mode 100644
index 0000000000..c88d170271
--- /dev/null
+++ b/comm/third_party/botan/src/cli/cli_exceptions.h
@@ -0,0 +1,47 @@
+/*
+* (C) 2015 Jack Lloyd
+*
+* Botan is released under the Simplified BSD License (see license.txt)
+*/
+
+#ifndef BOTAN_CLI_EXCEPTIONS_H_
+#define BOTAN_CLI_EXCEPTIONS_H_
+
+namespace Botan_CLI {
+
+class CLI_Error : public std::runtime_error
+ {
+ public:
+ explicit CLI_Error(const std::string& s) : std::runtime_error(s) {}
+ };
+
+class CLI_IO_Error final : public CLI_Error
+ {
+ public:
+ CLI_IO_Error(const std::string& op, const std::string& who) :
+ CLI_Error("Error " + op + " " + who) {}
+ };
+
+class CLI_Usage_Error final : public CLI_Error
+ {
+ public:
+ explicit CLI_Usage_Error(const std::string& what) : CLI_Error(what) {}
+ };
+
+/* Thrown eg when a requested feature was compiled out of the library
+ or is not available, eg hashing with MD2
+*/
+class CLI_Error_Unsupported final : public CLI_Error
+ {
+ public:
+
+ CLI_Error_Unsupported(const std::string& msg) : CLI_Error(msg) {}
+
+ CLI_Error_Unsupported(const std::string& what,
+ const std::string& who)
+ : CLI_Error(what + " with '" + who + "' unsupported or not available") {}
+ };
+
+}
+
+#endif