Revision control
Copy as Markdown
Other Tools
/*
* (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