Exceptions(3)

NAME
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. "
struct __gnu_cxx::forced_exception_error
Thown by throw_allocator.
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. "
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. "
class std::bad_exception
class std::bad_typeid
Thrown when a NULL pointer in a typeid expression is used.
class std::domain_error
class std::exception
Base class for all library exceptions.
class std::invalid_argument
class std::ios_base::ios_base::failure
These are thrown to indicate problems with io.

27.4.2.1.1 Class ios_base::failure. "
class std::length_error
class std::lock_error
Thrown to indicate errors with lock operations.
class std::logic_error
One of two subclasses of exception.
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. "
class std::runtime_error
One of two subclasses of exception.
class std::system_error
Thrown to indicate error code of underlying system.
class std::underflow_error

  Typedefs
typedef void(* std::terminate_handler )()
typedef void(* std::unexpected_handler )()

  Functions
void __gnu_cxx::__verbose_terminate_handler ()
template<typename _Ex > exception_ptr std::copy_exception (_Ex __ex) throw ()
exception_ptr std::current_exception () throw ()
void std::rethrow_exception (exception_ptr) __attribute__((__noreturn__))
terminate_handler std::set_terminate (terminate_handler) throw ()
unexpected_handler std::set_unexpected (unexpected_handler) throw ()
void std::terminate () __attribute__((__noreturn__))
bool std::uncaught_exception () throw ()
void std::unexpected () __attribute__((__noreturn__))

Detailed Description

Classes and functions for reporting errors via exception classes.

Typedef Documentation

  typedef void(* std::terminate_handler)()

If you write a replacement terminate handler, it must be of this type.

Definition at line 91 of file exception.

  typedef void(* std::unexpected_handler)()

If you write a replacement unexpected handler, it must be of this type.

Definition at line 94 of file exception.

Function Documentation

  void __gnu_cxx::__verbose_terminate_handler ()

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

Call

     std::set_terminate(__gnu_cxx::__verbose_terminate_handler)

 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) throw () [inline]

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

Definition at line 164 of file exception_ptr.h.

References std::current_exception().

  exception_ptr std::current_exception () throw ()

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::copy_exception().

  void std::rethrow_exception (exception_ptr)

Throw the object pointed to by the exception_ptr.

  terminate_handler std::set_terminate (terminate_handler) throw ()

Takes a new handler function as an argument, returns the old function.

  unexpected_handler std::set_unexpected (unexpected_handler) throw ()

Takes a new handler function as an argument, returns the old function.

  void std::terminate ()

The runtime will call this function if exception handling must be abandoned for any reason. It can also be called by the user.

  bool std::uncaught_exception () throw ()

[18.6.4]/1: 'Returns true after completing evaluation of a throw-expression until either completing initialization of the exception-declaration in the matching handler or entering unexpected() due to the throw; or after entering terminate() for any reason other than an explicit call to terminate(). [Note: This includes stack unwinding [15.2]. end note]'

2: 'When uncaught_exception() is true, throwing an exception can result in a call of terminate() (15.5.1).'

Referenced by std::basic_ostream< _CharT, _Traits >::basic_ostream::sentry::~sentry().

  void std::unexpected ()

The runtime will call this function if an exception is thrown which violates the function's exception specification.

Author

Generated automatically by Doxygen for libstdc++ from the source code.