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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::overflow_error - std::overflow_error

Synopsis
	  Defined in header <stdexcept>
	  class	overflow_error;

	  Defines  a  type of object to	be thrown as exception.	It can be used
       to report
	  arithmetic overflow errors (that is, situations where	a result of  a
       computation is
	  too large for	the destination	type)

	  The only standard library components that throw this exception are
	  std::bitset::to_ulong	and std::bitset::to_ullong.

	  The mathematical functions of	the standard library components	do not
       throw this
	  exception  (mathematical  functions report overflow errors as	speci-
       fied in
	  math_errhandling). Third-party libraries, however, use this. For ex-
       ample, boost.math
	  throws std::overflow_error if	 boost::math::policies::throw_on_error
       is enabled (the
	  default setting).

	  std-overflow error-inheritance.svg

					  Inheritance diagram

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

       std::overflow_error::overflow_error

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

	  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::overflow_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::overflow_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::overflow_error::operator=

	  overflow_error&   operator=(	 const	 overflow_error&   other    );
       (until C++11)
	  overflow_error&  operator=(  const overflow_error& other ) noexcept;
       (since C++11)

	  Assigns the contents with those of other.
	  If *this and other both have dynamic type std::overflow_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::overflow_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::runtime_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::overflow_error(3)

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

home | help