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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::logic_error	- std::logic_error

Synopsis
	  Defined in header <stdexcept>
	  class	logic_error;

	  Defines  a  type of object to	be thrown as exception.	It reports er-
       rors that are a
	  consequence of faulty	logic within the  program  such	 as  violating
       logical
	  preconditions	or class invariants and	may be preventable.

	  No  standard	library	 components throw this exception directly, but
       the exception
	  types	std::invalid_argument, std::domain_error, std::length_error,
	  std::out_of_range, std::future_error,	and std::experimental::bad_op-
       tional_access are
	  derived from std::logic_error.

	  std-logic error-inheritance.svg

					  Inheritance diagram

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

       std::logic_error::logic_error

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

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

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

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

home | help