12 class error_options_inner;
20 std::shared_ptr<error_options_inner>
ep;
24 virtual const char*
what() const noexcept;
31 template <class T>
xError&
add(const
std::
string &key, const T value);
46 template <class StringType> StringType
stringify(error_code_t err) {
return StringType(); }
72 #define ICEDB_FUNCSIG __FUNCSIG__ 75 #define ICEDB_FUNCSIG __PRETTY_FUNCTION__ 78 #define ICEDB_RSpushErrorvars \ 79 .add<std::string>("source_filename", std::string(__FILE__)) \ 80 .add<int>("source_line", (int)__LINE__) \ 81 .add<std::string>("source_function", std::string(ICEDB_FUNCSIG)) 82 #define ICEDB_RSmkError(x) ::icedb::error::xError(x).push() \ 84 #define ICEDB_throw(x) throw ICEDB_RSmkError(x)
std::shared_ptr< xError > xError_ptr
DL_ICEDB error_code_t error_context_to_code(const error_context_pt &err)
std::shared_ptr< ICEDB_error_context > error_context_pt
virtual const char * what() const noexcept
ICEDB_error_code error_code_t
DL_ICEDB void stringify(error_code_t err, std::string &res)
xError & add(const std::string &key, const T value)
DL_ICEDB error_context_pt get_error_context_thread_local()
std::shared_ptr< error_options_inner > ep
std::shared_ptr< options > options_ptr
xError(error_types=error_types::xOtherError)