Navigation :
Prerequisites
Build and install
Review of Error Handling Frameworks
Motivation
Future ABI stability guarantees
Tutorial
Recipes
Experimental
API reference
-
Macros
-- Constrained template macros
-- Version macros
-- `OUTCOME_CO_TRY(var, expr)`
-- `OUTCOME_CO_TRYV(expr)/OUTCOME_CO_TRY(expr)`
-- `OUTCOME_CO_TRYV2(spec, expr)`
-- `OUTCOME_CO_TRYV2_FAILURE_LIKELY(spec, expr)`
-- `OUTCOME_CO_TRYV_FAILURE_LIKELY(expr)/OUTCOME_CO_TRY_FAILURE_LIKELY(expr)`
-- `OUTCOME_CO_TRYX(expr)`
-- `OUTCOME_CO_TRYX_FAILURE_LIKELY(expr)`
-- `OUTCOME_CO_TRY_FAILURE_LIKELY(var, expr)`
-- `OUTCOME_DISABLE_EXECINFO`
-- `OUTCOME_ENABLE_LEGACY_SUPPORT_FOR`
-- `OUTCOME_NODISCARD`
-- `OUTCOME_REQUIRES(...)`
-- `OUTCOME_SYMBOL_VISIBLE`
-- `OUTCOME_THREAD_LOCAL`
-- `OUTCOME_THROW_EXCEPTION(expr)`
-- `OUTCOME_TRY(var, expr)`
-- `OUTCOME_TRYV(expr)/OUTCOME_TRY(expr)`
-- `OUTCOME_TRYV2(spec, expr)`
-- `OUTCOME_TRYV2_FAILURE_LIKELY(spec, expr)`
-- `OUTCOME_TRYV_FAILURE_LIKELY(expr)/OUTCOME_TRY_FAILURE_LIKELY(expr)`
-- `OUTCOME_TRYX(expr)`
-- `OUTCOME_TRYX_FAILURE_LIKELY(expr)`
-- `OUTCOME_TRY_FAILURE_LIKELY(var, expr)`
-- `OUTCOME_USE_STD_IN_PLACE_TYPE`
-- `OUTCOME_USE_STD_IS_NOTHROW_SWAPPABLE`
-
Concepts
-
Converters
-
Traits
-
Policies
-
Types
-
Aliases
-
Functions
Frequently asked questions
Videos
Changelog
History
OUTCOME_THROW_EXCEPTION(expr)
Throws a C++ exception, or equivalent thereof.
Overridable : Define before inclusion.
Default :
Standalone Outcome (C++ exceptions enabled):
To throw expr
Standalone Outcome (C++ exceptions disabled):
To OUTCOME_V2_NAMESPACE::detail::do_fatal_exit(#expr)
which is a function which prints a useful error message including a stack backtrace (where available) to stderr
before calling abort()
.
Boost.Outcome:
To BOOST_THROW_EXCEPTION(expr)
.
Header : <outcome/config.hpp>