Defined in header hpx/errors/exception_fwd.hpp.

See Public API for a list of names and headers that are part of the public HPX API.


namespace hpx


enum class throwmode : std::uint8_t#

Encode error category for new error_code.


enumerator plain#
enumerator rethrow#
enumerator lightweight#


constexpr bool operator&(throwmode lhs, throwmode rhs) noexcept#


constexpr throwmode plain = throwmode::plain#
constexpr throwmode rethrow = throwmode::rethrow#
constexpr throwmode lightweight = throwmode::lightweight#
constexpr throwmode lightweight_rethrow = throwmode::lightweight_rethrow#
error_code throws#

Predefined error_code object used as “throw on error” tag.

The predefined hpx::error_code object hpx::throws is supplied for use as a “throw on error” tag.

Functions that specify an argument in the form ‘error_code& ec=throws’ (with appropriate namespace qualifiers), have the following error handling semantics:

If &ec != &throws and an error occurred: ec.value() returns the implementation specific error number for the particular error that occurred and ec.category() returns the error_category for ec.value().

If &ec != &throws and an error did not occur, ec.clear().

If an error occurs and &ec == &throws, the function throws an exception of type hpx::exception or of a type derived from it. The exception’s get_errorcode() member function returns a reference to an hpx::error_code object with the behavior as specified above.