25 #include <boost/exception/diagnostic_information.hpp> 26 #include <boost/exception/errinfo_api_function.hpp> 27 #include <boost/exception/exception.hpp> 28 #include <boost/exception/info.hpp> 29 #include <boost/exception/info_tuple.hpp> 30 #include <boost/throw_exception.hpp> 31 #include <boost/tuple/tuple.hpp> 38 struct Exception :
virtual std::exception,
virtual boost::exception
40 const char*
what() const noexcept
override {
return boost::diagnostic_information_what(*
this); }
43 #define DEV_SIMPLE_EXCEPTION(X) \ 44 struct X : virtual Exception \ 52 #define DEV_SIMPLE_EXCEPTION_RLP(X) \ 53 struct X : virtual RLPException \ 81 using errinfo_comment = boost::error_info<struct tag_comment, std::string>;
83 using errinfo_got = boost::error_info<struct tag_got, bigint>;
84 using errinfo_min = boost::error_info<struct tag_min, bigint>;
85 using errinfo_max = boost::error_info<struct tag_max, bigint>;
95 using errinfo_path = boost::error_info<struct tag_path, std::string>;
boost::tuple< errinfo_required_h256, errinfo_got_h256 > Hash256RequirementError
boost::error_info< struct tag_path, std::string > errinfo_path
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)
boost::error_info< struct tag_extraData, bytes > errinfo_extraData
boost::errinfo_api_function errinfo_externalFunction
boost::error_info< struct tag_nodeID, h512 > errinfo_nodeID
boost::tuple< errinfo_required, errinfo_got, errinfo_comment > RequirementErrorComment
boost::error_info< struct tag_required, bigint > errinfo_required
const char * what() const noexcept override
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
boost::error_info< struct tag_interface, std::string > errinfo_interface