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

NAME
     std::exception::exception - std::exception::exception

Synopsis
	exception() throw();				      (until C++11)
	exception() noexcept;			      (1)     (since C++11)
	exception( const exception& other ) throw();	  (2)		    (un-
     til C++11)
	exception(	 const	     exception&      other	)      noexcept;
     (since C++11)

	Constructs new exception object.

	1) Default constructor. what() returns an implementation-defined string.
	2) Copy constructor. Initializes the contents with those  of  other.  If
     *this and
	other  both  have  dynamic  type std::exception then std::strcmp(what(),
     other.what())
	== 0.

Parameters
	other - another exception to assign the contents of

Notes
	Because copying std::exception is not  permitted  to  throw  exceptions,
     when derived
	classes (such as std::runtime_error) have to manage a user-defined diag-
     nostic
	message, it is typically implemented as a copy-on-write string.

	The  Microsoft	implementation includes non-standard constructors taking
     strings thus
	allowing instances to be thrown directly with a  meaningful  error  mes-
     sage. The
	nearest standard equivalents are std::runtime_error or std::logic_error.

	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  is  no  requirement  on   what()	of   the
     added
			   exception copy

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

home | help