37 #ifndef VIRGIL_CRYPTO_EXCEPTION_H
38 #define VIRGIL_CRYPTO_EXCEPTION_H
42 #include <system_error>
44 namespace virgil {
namespace crypto {
84 const std::error_condition&
condition()
const;
91 const char*
what()
const noexcept
override;
93 std::error_condition condition_;
109 #if defined(ANDROID) && defined(__GCC_ATOMIC_INT_LOCK_FREE) && __GCC_ATOMIC_INT_LOCK_FREE < 2
112 void throw_with_nested(
const T& ex) {
116 void rethrow_if_nested(
const T&) {
Definition: VirgilHash.h:252
VirgilCryptoException(int ev, const std::error_category &ecat)
Initialize Exception with specific error code and correspond error category.
Root namespace for all Virgil Security libraries.
Definition: VirgilAsn1Compatible.h:46
std::string backtrace_exception(const std::exception &exception, size_t level=0)
Unwind information about nested excpetions.
const std::error_condition & condition() const
This only exception that crypto library can produce.
Definition: VirgilCryptoException.h:54
const char * what() const noexcept override