Namespaces
Variants
Actions

std::bad_exception

From cppreference.com
< cpp‎ | error
 
 
Utilities library
General utilities
Relational operators (deprecated in C++20)
 
 
 
Defined in header <exception>
class bad_exception : public exception

std::bad_exception is the type of the exception thrown by the C++ runtime in the following situations:

  • If std::exception_ptr stores a copy of the caught exception and if the copy constructor of the exception object caught by std::current_exception throws an exception, the captured exception is an instance of std::bad_exception.
(since C++11)
  • If a dynamic exception specification is violated and std::unexpected throws or rethrows an exception that still violates the exception specification, but the exception specification allows std::bad_exception, std::bad_exception is thrown.
(until C++17)
cpp/error/exceptionstd-bad exception-inheritance.svg

Inheritance diagram

All member functions of std::bad_exception are constexpr.

(since C++26)

Contents