home | help
std::exception(3)	       C++ Standard Libary	       std::exception(3)

NAME
     std::exception - std::exception

Synopsis
	Defined in header <exception>
	class exception;

	Provides consistent interface to handle errors through the throw expres-
     sion.

	All  exceptions  generated by the standard library inherit from std::ex-
     ception.

Member functions
	constructor   constructs the exception object
		      (public member function)
	destructor    destroys the exception object
	[virtual]     (virtual public member function)
	operator=     copies exception object
		      (public member function)
	what	      returns an explanatory string
	[virtual]     (virtual public member function)

	Standard exception requirements

	Each standard library class T that derives from std::exception	has  the
     following
	publicly accessible member functions, each of them
	do not exit with an exception
	(until C++11)
	having a non-throwing exception specification
	(since C++11):

	  * default constructor (unless other constructors are provided)
	  * copy constructor
	  * copy assignment operator

	The copy constructor and the copy assignment operator meet the following
	postcondition:

	  *  If  two  objects  lhs and rhs both have dynamic type T and lhs is a
     copy of rhs,
	    then std::strcmp(lhs.what(), rhs.what()) is equal to 0.

	The what() member function of each  such  T  satisfies	the  constraints
     specified for
	std::exception::what().

	Standard exceptions

	  * logic_error

	  * invalid_argument
	  * domain_error
	  * length_error
	  * out_of_range
	  * future_error (since C++11)
	  * runtime_error

	  * range_error
	  * overflow_error
	  * underflow_error
	  * regex_error (since C++11)
	  * system_error (since C++11)

	  * ios_base::failure (since C++11)
	  * filesystem::filesystem_error (since C++17)
	  * tx_exception (TM TS)
	  * nonexistent_local_time (since C++20)
	  * ambiguous_local_time (since C++20)
	  * format_error (since C++20)
	  * bad_typeid
	  * bad_cast

	  * bad_any_cast (since C++17)
	  * bad_optional_access (since C++17)
	  * bad_expected_access (since C++23)
	  * bad_weak_ptr (since C++11)
	  * bad_function_call (since C++11)
	  * bad_alloc

	  * bad_array_new_length (since C++11)
	  * bad_exception
	  * ios_base::failure (until C++11)
	  * bad_variant_access (since C++17)

	Defect reports

	The  following	behavior-changing  defect  reports were applied retroac-
     tively to
	previously published C++ standards.

	  DR	Applied to		Behavior as published		    Cor-
     rect behavior
	LWG  471  C++98       there  was  no  requirement  on  standard  library
     added
			   classes derived from std::exception

http://cppreference.com 	   2024.06.10		       std::exception(3)

home | help