libstdc++
Exceptions
Collaboration diagram for Exceptions:

Classes

class  __cxxabiv1::__forced_unwind
 Thrown as part of forced unwinding.A magic placeholder class that can be caught by reference to recognize forced unwinding. More...
struct  __gnu_cxx::forced_error
 Thown by exception safety machinery. More...
class  __gnu_cxx::recursive_init_error
 Exception thrown by __cxa_guard_acquire.6.7[stmt.dcl]/4: If control re-enters the declaration (recursively) while the object is being initialized, the behavior is undefined. More...
class  std::__exception_ptr::exception_ptr
 An opaque pointer to an arbitrary exception. More...
class  std::bad_alloc
 Exception possibly thrown by new.bad_alloc (or classes derived from it) is used to report allocation errors from the throwing forms of new. More...
class  std::bad_cast
 Thrown during incorrect typecasting.If you attempt an invalid dynamic_cast expression, an instance of this class (or something derived from this class) is thrown. More...
class  std::bad_function_call
 Exception class thrown when class template function's operator() is called with an empty target. More...
class  std::bad_typeid
 Thrown when a NULL pointer in a typeid expression is used. More...
class  std::bad_weak_ptr
 Exception possibly thrown by shared_ptr. More...
class  std::domain_error
class  std::exception
 Base class for all library exceptions. More...
class  std::experimental::fundamentals_v1::bad_any_cast
 Exception class thrown by a failed any_cast. More...
class  std::experimental::fundamentals_v1::bad_optional_access
 Tag to disengage optional objects. More...
class  std::future_error
 Exception type thrown by futures. More...
class  std::invalid_argument
class  std::ios_base::failure
 These are thrown to indicate problems with io.27.4.2.1.1 Class ios_base::failure. More...
class  std::length_error
class  std::logic_error
 One of two subclasses of exception. More...
class  std::nested_exception
 Exception class with exception_ptr data member. More...
class  std::out_of_range
class  std::overflow_error
class  std::range_error
class  std::regex_error
 A regular expression exception class.The regular expression library throws objects of this class on error. More...
class  std::runtime_error
 One of two subclasses of exception. More...
class  std::system_error
 Thrown to indicate error code of underlying system. More...
class  std::underflow_error

Functions

template<typename _Ex >
__rethrow_if_nested_cond< _Ex > std::__rethrow_if_nested_impl (const _Ex *__ptr)
void std::__rethrow_if_nested_impl (const void *)
template<typename _Tp >
void std::__throw_with_nested_impl (_Tp &&__t, true_type)
void __gnu_cxx::__verbose_terminate_handler ()
template<typename _Ex >
exception_ptr std::copy_exception (_Ex __ex) noexcept 1
exception_ptr std::current_exception () noexcept
template<typename _Ex >
exception_ptr std::make_exception_ptr (_Ex __ex) noexcept
void std::rethrow_exception (exception_ptr) __attribute__((__noreturn__))
template<typename _Ex >
void std::rethrow_if_nested (const _Ex &__ex)
template<typename _Tp >
void std::throw_with_nested (_Tp &&__t)
virtual const char * std::exception::what () const _GLIBCXX_TXN_SAFE_DYN noexcept

Detailed Description

Classes and functions for reporting errors via exception classes.


Function Documentation

A replacement for the standard terminate_handler which prints more information about the terminating exception (if any) on stderr.

Call

to use. For more info, see http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt02ch06s02.html

In 3.4 and later, this is on by default.

template<typename _Ex >
exception_ptr std::copy_exception ( _Ex  __ex)

Obtain an exception_ptr pointing to a copy of the supplied object. This function is deprecated, use std::make_exception_ptr instead.

Definition at line 214 of file exception_ptr.h.

exception_ptr std::current_exception ( )

Obtain an exception_ptr to the currently handled exception. If there is none, or the currently handled exception is foreign, return the null value.

Referenced by std::make_exception_ptr().

template<typename _Ex >
exception_ptr std::make_exception_ptr ( _Ex  __ex)

Obtain an exception_ptr pointing to a copy of the supplied object.

Definition at line 179 of file exception_ptr.h.

References std::current_exception().

void std::rethrow_exception ( exception_ptr  )

Throw the object pointed to by the exception_ptr.

Referenced by std::__basic_future< _Res & >::_M_get_result().

template<typename _Ex >
void std::rethrow_if_nested ( const _Ex &  __ex) [inline]

If __ex is derived from nested_exception, __ex.rethrow_nested().

Definition at line 149 of file nested_exception.h.

References std::__addressof().

template<typename _Tp >
void std::throw_with_nested ( _Tp &&  __t) [inline]

If __t is derived from nested_exception, throws __t. Else, throws an implementation-defined object derived from both.

Definition at line 112 of file nested_exception.h.

virtual const char* std::exception::what ( ) const [virtual]