26 #include <boost/exception/exception.hpp> 27 #include <boost/exception/info.hpp> 28 #include <boost/exception/info_tuple.hpp> 29 #include <boost/exception/diagnostic_information.hpp> 30 #include <boost/throw_exception.hpp> 31 #include <boost/tuple/tuple.hpp> 39 struct Exception:
virtual std::exception,
virtual boost::exception
42 const char*
what() const noexcept
override {
return m_message.empty() ? std::exception::what() :
m_message.c_str(); }
48 #define DEV_SIMPLE_EXCEPTION(X) struct X: virtual Exception { const char* what() const noexcept override { return #X; } } 52 #define DEV_SIMPLE_EXCEPTION_RLP(X) struct X: virtual RLPException { const char* what() const noexcept override { return #X; } } 75 using errinfo_comment = boost::error_info<struct tag_comment, std::string>;
77 using errinfo_got = boost::error_info<struct tag_got, bigint>;
78 using errinfo_min = boost::error_info<struct tag_min, bigint>;
79 using errinfo_max = boost::error_info<struct tag_max, bigint>;
RLPException(std::string _message=std::string())
Adapted from code found on http://stackoverflow.com/questions/180947/base64-decode-snippet-in-c Origi...
boost::tuple< errinfo_required_h256, errinfo_got_h256 > Hash256RequirementError
const char * what() const noexceptoverride
std::hash for asio::adress
boost::error_info< struct tag_min, bigint > errinfo_min
boost::error_info< struct tag_max, bigint > errinfo_max
boost::error_info< struct tag_address, std::string > errinfo_wrongAddress
boost::error_info< struct tag_invalidSymbol, char > errinfo_invalidSymbol
boost::error_info< struct tag_hash, h256 > errinfo_hash256
Base class for all exceptions.
boost::error_info< struct tag_got, bigint > errinfo_got
boost::error_info< struct tag_required_h256, h256 > errinfo_required_h256
DEV_SIMPLE_EXCEPTION_RLP(BadCast)
InterfaceNotSupported(std::string _f)
boost::error_info< struct tag_extraData, bytes > errinfo_extraData
boost::error_info< struct tag_required, bigint > errinfo_required
DEV_SIMPLE_EXCEPTION(BadHexCharacter)
Base class for all RLP exceptions.
boost::error_info< struct tag_comment, std::string > errinfo_comment
boost::error_info< struct tag_get_h256, h256 > errinfo_got_h256
boost::tuple< errinfo_required, errinfo_got > RequirementError
Exception(std::string _message=std::string())
ExternalFunctionFailure(std::string _f)