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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::runtime_error - std::runtime_error

Synopsis
	  Defined in header <stdexcept>
	  class	runtime_error;

	  Defines  a  type of object to	be thrown as exception.	It reports er-
       rors that are due
	  to events beyond the scope of	the program and	can not	be easily pre-
       dicted.

	  Exceptions of	type std::runtime_error	are thrown  by	the  following
       standard	library
	  components: std::locale::locale and std::locale::combine.

	  In addition, the following standard exception	types are derived from
	  std::runtime_error:

	    * std::range_error
	    * std::overflow_error
	    * std::underflow_error

	    * std::regex_error	  (since C++11)
	    * std::system_error

	    * std::chrono::ambiguous_local_time
	    * std::chrono::nonexistent_local_time   (since C++20)
	    * std::format_error

	  std-runtime error-inheritance.svg

					  Inheritance diagram

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

       std::runtime_error::runtime_error

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

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

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

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

home | help