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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::domain_error - std::domain_error

Synopsis
	  Defined in header <stdexcept>
	  class	domain_error;

	  Defines  a  type of object to	be thrown as exception.	It may be used
       by the
	  implementation to report domain errors, that	is,  situations	 where
       the inputs are
	  outside of the domain	on which an operation is defined.

	  The  standard	library	components do not throw	this exception (mathe-
       matical functions
	  report domain	errors as specified in math_errhandling).  Third-party
       libraries,
	  however,  use	this. For example, boost.math throws std::domain_error
       if
	  boost::math::policies::throw_on_error	is enabled (the	 default  set-
       ting).

	  std-domain error-inheritance.svg

					  Inheritance diagram

Member functions
	  constructor	 constructs  a	new domain_error object	with the given
       message
			(public	member function)
	  operator=	replaces the domain_error object
			(public	member function)
	  what		returns	the explanatory	string
			(public	member function)

       std::domain_error::domain_error

	  domain_error(	const std::string& what_arg );	      (1)
	  domain_error(	 const	char*  what_arg	 );		   (2)	(since
       C++11)
	  domain_error(	   const    domain_error&    other   );		   (3)
       (until C++11)
	  domain_error(	   const    domain_error&    other     )     noexcept;
       (since C++11)

	  1-2)	Constructs  the	 exception object with what_arg	as explanatory
       string that can be
	  accessed through what().
	  3) Copy constructor.
	  If *this and other both have	dynamic	 type  std::domain_error  then
       std::strcmp(what(),
	  other.what())	== 0.
	  (since C++11)

Parameters
	  what_arg - explanatory string
	  other	   - another exception object to copy

Exceptions
	  1-2) May throw std::bad_alloc

Notes
	  Because  copying  std::domain_error is not permitted to throw	excep-
       tions, this message
	  is typically stored internally as a separately-allocated  reference-
       counted string.
	  This	is  also  why there is no constructor taking std::string&&: it
       would have to copy
	  the content anyway.

       std::domain_error::operator=

	  domain_error&	operator=( const domain_error& other );		  (un-
       til C++11)
	  domain_error&	 operator=(  const  domain_error&  other  )  noexcept;
       (since C++11)

	  Assigns the contents with those of other.
	  If  *this  and  other	 both have dynamic type	std::domain_error then
       std::strcmp(what(),
	  other.what())	== 0 after assignment.
	  (since C++11)

Parameters
	  other	- another exception object to assign with

Return value
	  *this

       std::domain_error::what

	  virtual const	char* what() const throw();   (until C++11)
	  virtual const	char* what() const noexcept;  (since C++11)

	  Returns the explanatory string.

Parameters
	  (none)

Return value
	  Pointer to a null-terminated string  with  explanatory  information.
       The string is
	  suitable  for	 conversion and	display	as a std::wstring. The pointer
       is guaranteed to
	  be valid at least until the exception	object from which  it  is  ob-
       tained is destroyed,
	  or until a non-const member function (e.g. copy assignment operator)
       on the
	  exception object is called.

Notes
	  Implementations are allowed but not required to override what().

       Inherited from std::logic_error

       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)

http://cppreference.com		  2022.07.31		  std::domain_error(3)

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

home | help