Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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 ex-
       pression.

	  All  exceptions  generated  by  the  standard	 library  inherit from
       std::exception.

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 fol-
       lowing
	  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
       Correct 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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::exception&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help