You are on page 1of 1

PROGRAM

calls

An exception is thrown
and not caught;

A noexcept specification
is violated;
A dynamic exception
return from main() specification is violated calls std::at_quick_exit() std::quick_exit() calls
[DEPRECATED] Uncaught exception
during the execution
of a parallel
algorithm element
access [C++17];
...

std::atexit() calls std::set_unexpected() sets calls

Destroy local objects std::unexpected()


std::at_quick_exit() func next func
and unwind stack. [DEPRECATED]

sets std::raise(SIGABRT)

sets std::exit(int exit_code) calls _Exit(int exit_code)

std::unexpected_handler()
[DEPRECATED]

Normal Program Termination:


destroys all static objects;
calls if func throws
flushes all buffers;
closes all I/O channels

Default & if handler throws. std::set_terminate()

calls
std::atexit() func next func
[Microsoft Specific]

if func throws sets std::signal(SIGABRT)

otherwise std::terminate()

terminate_handler() sets

otherwise Default

otherwise std::abort()

if set

User Unexpected Handler User Terminate Handler otherwise User ABRT signal handler()

__fastfail(FAST_FAIL_*)
END
[Microsoft Specific]

You might also like