FreeBSD Manual Pages
std::bad_exception(3) C++ Standard Libary std::bad_exception(3) NAME std::bad_exception - std::bad_exception Synopsis Defined in header <exception> class bad_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 (since C++11) std::current_exception throws an exception, the captured excep- tion is an instance of std::bad_exception. * If a dynamic exception specification is violated and std::unexpected throws or rethrows an exception that still violates the exception specification, but the exception (until C++17) specification allows std::bad_exception, std::bad_exception is thrown. std-bad exception-inheritance.svg Inheritance diagram Member functions constructor constructs the bad_exception object (public member function) operator= copies the object (public member function) what returns the explanatory string [virtual] (virtual public member function) Inherited from std::exception Member functions destructor destroys the exception object [virtual] (virtual public member function of std::exception) what returns an explanatory string [virtual] (virtual public member function of std::exception) Example // Run this code #include <iostream> #include <exception> #include <stdexcept> void my_unexp() { throw; } void test() throw(std::bad_exception) { throw std::runtime_error("test"); } int main() { std::set_unexpected(my_unexp); try { test(); } catch(const std::bad_exception& e) { std::cerr << "Caught " << e.what() << '\n'; } } Possible output: Caught std::bad_exception http://cppreference.com 2022.07.31 std::bad_exception(3)
NAME | Synopsis | Member functions | Member functions | Example | Possible output:
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::bad_exception&sektion=3&manpath=FreeBSD+Ports+15.0>
