Namespaces
Variants
Views
Actions

Error handling

From cppreference.com
< cpp
Revision as of 08:51, 10 July 2012 by Nate (Talk | contribs)

 
 
 

Contents

Exception handling

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

Template:cpp/error/dcl list exceptionTemplate:cpp/error/dcl list uncaught exceptionTemplate:cpp/error/dcl list exception ptrTemplate:cpp/error/dcl list make exception ptrTemplate:cpp/error/dcl list current exceptionTemplate:cpp/error/dcl list rethrow exceptionTemplate:cpp/error/dcl list nested exceptionTemplate:cpp/error/dcl list throw with nestedTemplate:cpp/error/dcl list rethrow if nestedTemplate:cpp/error/dcl list terminateTemplate:cpp/error/dcl list terminate handlerTemplate:cpp/error/dcl list get terminateTemplate:cpp/error/dcl list set terminateTemplate:cpp/error/dcl list unexpectedTemplate:cpp/error/dcl list bad exceptionTemplate:cpp/error/dcl list unexpected handlerTemplate:cpp/error/dcl list get unexpectedTemplate:cpp/error/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:cpp/language/dcl list static assert
Template:cpp/error/dcl list assert
Defined in header <cassert>

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/dcl list error categoryTemplate:cpp/error/dcl list generic categoryTemplate:cpp/error/dcl list system categoryTemplate:cpp/error/dcl list error conditionTemplate:cpp/error/dcl list err cTemplate:cpp/error/dcl list error codeTemplate:cpp/error/dcl list system error
Defined in header <system_error>