<stdexcept>

Defines several standard classes used for reporting exceptions. The classes form a derivation hierarchy all derived from class exception and include two general types of exceptions: logical errors and run-time errors. The logical errors are caused programmer mistakes. They derive from the base class logic_error and include:

  • domain_error

  • invalid_argument

  • length_error

  • out_of_range

The run-time errors occur because of mistakes in either the library functions or in the run-time system. They derive from the base class runtime_error and include:

  • overflow_error

  • range_error

  • underflow_error

Classes

domain_error Class

The class serves as the base class for all exceptions thrown to report a domain error.

invalid_argument Class

The class serves as the base class for all exceptions thrown to report an invalid argument.

length_error Class

The class serves as the base class for all exceptions thrown to report an attempt to generate an object too long to be specified.

logic_error Class

The class serves as the base class for all exceptions thrown to report errors presumably detectable before the program executes, such as violations of logical preconditions.

out_of_range Class

The class serves as the base class for all exceptions thrown to report an argument that is out of its valid range.

overflow_error Class

The class serves as the base class for all exceptions thrown to report an arithmetic overflow.

range_error Class

The class serves as the base class for all exceptions thrown to report a range error.

runtime_error Class

The class serves as the base class for all exceptions thrown to report errors presumably detectable only when the program executes.

underflow_error Class

The class serves as the base class for all exceptions thrown to report an arithmetic underflow.

See Also

Reference

Thread Safety in the C++ Standard Library

Other Resources

C++ Standard Library Header Files