Namespaces
Variants
Views
Actions

Error handling

From cppreference.com
< cpp
Revision as of 18:55, 19 April 2012 by P12bot (Talk | contribs)

Template:cpp/error/sidebar

Contents

Exception handling

The header <exception> provide several classes and functions related to exception handling in C++ programs.

Template:cpp/error/exception/dcl list exceptionTemplate:cpp/error/exception/dcl list uncaught exceptionTemplate:cpp/error/exception/dcl list exception ptrTemplate:cpp/error/exception/dcl list make exception ptrTemplate:cpp/error/exception/dcl list current exceptionTemplate:cpp/error/exception/dcl list rethrow exceptionTemplate:cpp/error/exception/dcl list nested exceptionTemplate:cpp/error/exception/dcl list throw with nestedTemplate:cpp/error/exception/dcl list rethrow if nestedTemplate:cpp/error/exception/dcl list terminateTemplate:cpp/error/exception/dcl list terminate handlerTemplate:cpp/error/exception/dcl list get terminateTemplate:cpp/error/exception/dcl list set terminateTemplate:cpp/error/exception/dcl list unexpectedTemplate:cpp/error/exception/dcl list bad exceptionTemplate:cpp/error/exception/dcl list unexpected handlerTemplate:cpp/error/exception/dcl list get unexpectedTemplate:cpp/error/exception/dcl list set unexpected
Defined in header <exception>
Capture and storage of exception objects
Handling of failures in exception handling
Handling of exception specification violations

Exception categories

Several convenience classes are predefined in the header <stdexcept> to report particular error conditions. These classes can be divided into two categories: logic errors and runtime errors. Logic errors are a consequence of faulty logic within the program and may be preventable. Runtime errors are due to events beyond the scope of the program and can not be easily predicted.

Defined in header <stdexcept>
exception class to indicate violations of logical preconditions or class invariants
(class)
exception class to report invalid arguments
(class)
exception class to report domain errors
(class)
exception class to report attempts to exceed maximum allowed size
(class)
exception class to report arguments outside of expected range
(class)
exception class to indicate conditions only detectable at run time
(class)
exception class to report range errors in internal computations
(class)
exception class to report arithmetic overflows
(class)
exception class to report arithmetic underflows
(class)

Error numbers

Template:cpp/error/dcl list errnoTemplate:cpp/error/dcl list errno macros
Defined in header <cerrno>

Assertions

Assertions help to implement checking of preconditions in programs.

Template:dcl list keyword
Defined in header <cassert>
aborts the program if the user-specified condition is not true. May be disabled for release builds
(function macro)

System error

The header <system_error> defines types and functions used to report error conditions originating from the operating system, streams I/O, std::future, or other low-level APIs.

Template:cpp/error/system error/dcl list error categoryTemplate:cpp/error/system error/dcl list generic categoryTemplate:cpp/error/system error/dcl list system categoryTemplate:cpp/error/system error/dcl list error conditionTemplate:cpp/error/system error/dcl list err cTemplate:cpp/error/system error/dcl list error codeTemplate:cpp/error/system error/dcl list system error
Defined in header <system_error>