18 #include <boost/exception/exception.hpp> 19 #include <boost/exception/info.hpp> 20 #include <boost/current_function.hpp> 23 #ifdef DUDS_ERRORS_TERSE 24 #define DUDS_THROW_EXCEPTION(x) ::boost::throw_exception(x) 25 #elif defined(DUDS_ERRORS_VERBOSE) || defined(DOXYGEN) 30 #define BOOST_STACKTRACE_USE_ADDR2LINE 31 #include <boost/stacktrace.hpp> 48 #define DUDS_THROW_EXCEPTION(x) \ 49 ::boost::throw_exception(::boost::enable_error_info(x) << \ 50 ::boost::throw_function(BOOST_CURRENT_FUNCTION) << \ 51 ::boost::throw_file(__FILE__) << ::boost::throw_line((int)__LINE__) << \ 52 duds::general::StackTrace(boost::stacktrace::stacktrace())) 54 #define DUDS_THROW_EXCEPTION(x) BOOST_THROW_EXCEPTION(x) 57 namespace duds {
namespace general {
59 #if defined(DUDS_ERRORS_VERBOSE) || defined(DOXYGEN) 73 typedef boost::error_info<
74 struct Info_Stacktrace,
75 boost::stacktrace::stacktrace
95 struct IoError :
virtual std::exception,
virtual boost::exception { };
115 #endif // #ifndef ERRORS_HPP A bad checksum value was found.
Indicates that the requested operation or called function is not implemented.
An error indicating an attempt to use an already destructed object.
boost::error_info< struct Info_Stacktrace, boost::stacktrace::stacktrace > StackTrace
Includes stack trace information in an exception.
An I/O error involving a file.
An incorrect cyclic redundancy code (CRC) value was found.