GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::unexpected_handler(3) C++ Standard Libary std::unexpected_handler(3)

std::unexpected_handler - std::unexpected_handler


Defined in header <exception>
typedef void (*unexpected_handler)(); (deprecated in C++11)
(removed in C++17)


std::unexpected_handler is the function pointer type (pointer to function that takes
no arguments and returns void), which is installed and queried by the functions
std::set_unexpected and std::get_unexpected and called by std::unexpected.


The C++ implementation provides a default std::unexpected_handler function, which
calls std::terminate(). If the null pointer value is installed (by means of
std::set_unexpected), the implementation may restore the default handler instead.


A user-defined std::unexpected_handler is expected to either terminate the program
or throw an exception. If it throws an exception, one of the following three
situations may be encountered:


1) the exception thrown by std::unexpected_handler satisfies the dynamic exception
specification that was violated earlier. The new exception is allowed to escape the
function and stack unwinding continues.


2) the exception thrown by std::unexpected_handler still violates the exception
specification:


2a) however, the exception specification allows std::bad_exception: the thrown
exception object is destroyed, and std::bad_exception is constructed by the C++
runtime and thrown instead.


2b) the exception specification does not allow std::bad_exception: std::terminate()
is called.


unexpected function called when dynamic exception specification is
(removed in C++17) violated
(function)
set_unexpected changes the function to be called by std::unexpected
(removed in C++17) (function)
get_unexpected obtains the current unexpected_handler
(C++11)(removed in C++17) (function)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.