7 #include <boost/exception/diagnostic_information.hpp>
8 #include <boost/exception/errinfo_api_function.hpp>
9 #include <boost/exception/exception.hpp>
10 #include <boost/exception/info.hpp>
11 #include <boost/exception/info_tuple.hpp>
12 #include <boost/throw_exception.hpp>
13 #include <boost/tuple/tuple.hpp>
21 struct Exception :
virtual std::exception,
virtual boost::exception {
22 const char*
what() const noexcept
override {
return boost::diagnostic_information_what(*
this); }
25 #define DEV_SIMPLE_EXCEPTION(X) \
26 struct X : virtual ::dev::Exception {}
30 #define DEV_SIMPLE_EXCEPTION_RLP(X) \
31 struct X : virtual ::dev::RLPException {}
57 using errinfo_comment = boost::error_info<struct tag_comment, std::string>;
59 using errinfo_got = boost::error_info<struct tag_got, bigint>;
60 using errinfo_min = boost::error_info<struct tag_min, bigint>;
61 using errinfo_max = boost::error_info<struct tag_max, bigint>;
71 using errinfo_path = boost::error_info<struct tag_path, std::string>;
boost::error_info< struct tag_hash, h256 > errinfo_hash256
Definition: Exceptions.h:64
boost::tuple< errinfo_required, errinfo_got > RequirementError
Definition: Exceptions.h:62
boost::error_info< struct tag_address, std::string > errinfo_wrongAddress
Definition: Exceptions.h:56
boost::error_info< struct tag_min, bigint > errinfo_min
Definition: Exceptions.h:60
DEV_SIMPLE_EXCEPTION(BadHexCharacter)
boost::error_info< struct tag_required_h256, h256 > errinfo_required_h256
Definition: Exceptions.h:65
boost::error_info< struct tag_path, std::string > errinfo_path
Definition: Exceptions.h:71
boost::tuple< errinfo_required_h256, errinfo_got_h256 > Hash256RequirementError
Definition: Exceptions.h:67
boost::error_info< struct tag_required, bigint > errinfo_required
Definition: Exceptions.h:58
DEV_SIMPLE_EXCEPTION_RLP(BadCast)
boost::error_info< struct tag_comment, std::string > errinfo_comment
Definition: Assertions.h:50
boost::error_info< struct tag_interface, std::string > errinfo_interface
Definition: Exceptions.h:70
boost::errinfo_api_function errinfo_externalFunction
Definition: Exceptions.h:69
boost::error_info< struct tag_extraData, bytes > errinfo_extraData
Definition: Exceptions.h:68
boost::error_info< struct tag_max, bigint > errinfo_max
Definition: Exceptions.h:61
boost::error_info< struct tag_invalidSymbol, char > errinfo_invalidSymbol
Definition: Exceptions.h:55
boost::error_info< struct tag_got, bigint > errinfo_got
Definition: Exceptions.h:59
boost::error_info< struct tag_get_h256, h256 > errinfo_got_h256
Definition: Exceptions.h:66
boost::error_info< struct tag_nodeID, h512 > errinfo_nodeID
Definition: Exceptions.h:72
boost::tuple< errinfo_required, errinfo_got, errinfo_comment > RequirementErrorComment
Definition: Exceptions.h:63
Base class for all exceptions.
Definition: Exceptions.h:21
const char * what() const noexcept override
Definition: Exceptions.h:22
Base class for all RLP exceptions.
Definition: Exceptions.h:29