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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::range_error	- std::range_error

Synopsis
	  Defined in header <stdexcept>
	  class	range_error;

	  Defines  a  type of object to	be thrown as exception.	It can be used
       to report range
	  errors (that is, situations where a result of	a  computation	cannot
       be represented by
	  the destination type).

	  The only standard library components that throw this exception are
	  std::wstring_convert::from_bytes and std::wstring_convert::to_bytes.

	  The mathematical functions in	the standard library components	do not
       throw this
	  exception  (mathematical  functions report range errors as specified
       in
	  math_errhandling).

	  std-range error-inheritance.svg

					  Inheritance diagram

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

       std::range_error::range_error

	  range_error( const std::string& what_arg );	    (1)
	  range_error( const char* what_arg );		    (2)	(since C++11)
	  range_error(	  const	   range_error&	   other    );		   (3)
       (until C++11)
	  range_error(	  const	    range_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::range_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::range_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::range_error::operator=

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

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

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

home | help