8#ifndef BOTAN_EXCEPTION_H_
9#define BOTAN_EXCEPTION_H_
11#include <botan/types.h>
96 const char*
what() const noexcept
override {
return m_msg.c_str(); }
117 explicit Exception(
const std::string& msg);
122 Exception(
const char* prefix,
const std::string& msg);
127 Exception(
const std::string& msg,
const std::exception& e);
141 explicit Invalid_Argument(
const std::string& msg,
const std::string& where);
253 const std::string& algo,
254 const std::string& provider);
332 int error_code() const noexcept
override {
return m_error_code; }
393 BOTAN_DEPRECATED(
"no longer used")
explicit Self_Test_Failure(
const std::string& err);
415 BOTAN_DEPRECATED(
"no longer used")
explicit Policy_Violation(
const std::string& err);
433template<
typename E,
typename... Args>
434inline void do_throw_error(
const char* file,
int line,
const char* func, Args... args)
436 throw E(file, line, func, args...);
ErrorType error_type() const noexcept override
ErrorType error_type() const noexcept override
const char * what() const noexcept override
virtual ErrorType error_type() const noexcept
virtual int error_code() const noexcept
ErrorType error_type() const noexcept override
ErrorType error_type() const noexcept override
ErrorType error_type() const noexcept override
ErrorType error_type() const noexcept override
ErrorType error_type() const noexcept override
ErrorType error_type() const noexcept override
Invalid_State(const std::string &err)
ErrorType error_type() const noexcept override
Lookup_Error(const std::string &err)
ErrorType error_type() const noexcept override
ErrorType error_type() const noexcept override
ErrorType error_type() const noexcept override
ErrorType error_type() const noexcept override
System_Error(const std::string &msg)
int error_code() const noexcept override
int(* final)(unsigned char *, CTX *)
#define BOTAN_PUBLIC_API(maj, min)
void do_throw_error(const char *file, int line, const char *func, Args... args)
Invalid_Authentication_Tag Integrity_Failure
std::string to_string(ErrorType type)
Convert an ErrorType to string.