31 FOLLY_TLS
bool invalid;
40 return invalid ?
nullptr : &caughtExceptions;
45 void addActiveException() {
48 if (!activeExceptions.pushCurrent()) {
49 activeExceptions.
clear();
50 caughtExceptions.clear();
70 [](
void*, std::type_info*,
void (*)(
void*))
noexcept {
75 moveTopException(activeExceptions, caughtExceptions);
79 moveTopException(caughtExceptions, activeExceptions);
97 if (!caughtExceptions.pop()) {
98 activeExceptions.clear();
105 [](std::exception_ptr)
noexcept { addActiveException(); });
114 Initializer initializer;
void registerCxaThrowCallback(CxaThrowType callback)
requires E e noexcept(noexcept(s.error(std::move(e))))
void registerCxaBeginCatchCallback(CxaBeginCatchType callback)
std::enable_if< detail::is_chrono_conversion< Tgt, Src >::value, Tgt >::type to(const Src &value)
void registerCxaEndCatchCallback(CxaEndCatchType callback)
StackTraceStack * getExceptionStackTraceStack()
__cxa_eh_globals * __cxa_get_globals_fast(void) noexcept
PUSHMI_INLINE_VAR constexpr struct folly::pushmi::operators::from_fn from
PUSHMI_INLINE_VAR constexpr __adl::get_top_fn top
__cxa_exception * caughtExceptions
void registerCxaRethrowCallback(CxaRethrowType callback)
bool moveTopFrom(StackTraceStack &other)
void registerRethrowExceptionCallback(RethrowExceptionType callback)