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>
21struct 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 {}
57using errinfo_comment = boost::error_info<struct tag_comment, std::string>;
71using errinfo_path = boost::error_info<struct tag_path, std::string>;
#define DEV_SIMPLE_EXCEPTION_RLP(X)
Definition Exceptions.h:30
#define DEV_SIMPLE_EXCEPTION(X)
Definition Exceptions.h:25
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
void assertThrowAux(bool _condition, ::std::string const &_errorDescription, unsigned _line, char const *_file, char const *_function)
Definition Assertions.h:53
boost::error_info< struct tag_min, bigint > errinfo_min
Definition Exceptions.h:60
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
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