Share via


Defines several types and functions related to the handling of exceptions. Exception handling is used in situations in which the system can recover from an error. It provides a means for control to be returned from a function to the program. The objective of incorporating exception handling is to increase the program's robustness while providing a way to recover from an error in an orderly fashion.


Header: <exception>

Namespace: std



Name Description
exception_ptr A type that describes a pointer to an exception.
terminate_handler A type that describes a pointer to a function suitable for use as a terminate_handler.
unexpected_handler A type that describes a pointer to a function suitable for use as an unexpected_handler.


Name Description
current_exception Obtains a pointer to the current exception.
get_terminate Obtains the current terminate_handler function.
get_unexpected Obtains the current unexpected_handler function.
make_exception_ptr Creates an exception_ptr object that holds a copy of an exception.
rethrow_exception Throws an exception passed as a parameter.
rethrow_if_nested Casts and throws exception if nested.
set_terminate Establishes a new terminate_handler to be called at the termination of the program.
set_unexpected Establishes a new unexpected_handler to be when an unexpected exception is encountered.
terminate Calls a terminate handler.
throw_with_nested Throws exception if nested.
uncaught_exception Returns true only if a thrown exception is being currently processed.
unexpected Calls an unexpected handler.


Name Description
bad_exception Class The class describes an exception that can be thrown from an unexpected_handler.
exception Class The class serves as the base class for all exceptions thrown by certain expressions and by the C++ Standard Library.
nested_exception Class The class describes an exception that can be captured and stored for later use.

See also

Header Files Reference
Thread Safety in the C++ Standard Library