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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::ios_base::failure -	std::ios_base::failure

Synopsis
	  Defined in header <ios>
	  class	failure;

	  The class std::ios_base::failure defines an exception	object that is
       thrown on
	  failure by the functions in the Input/Output library.

	  std::ios_base::failure may be	defined	either as a member class of
	  std::ios_base	 or  as	 a  synonym  (typedef)	for another class with
       (since C++17)
	  equivalent functionality.

	  std-ios base-failure-2003-inheritance.svg
						    (until C++11)
		     Inheritance diagram
	  std-ios base-failure-inheritance.svg
						    (since C++11)
		     Inheritance diagram

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

       std::ios_base::failure::failure

	  explicit failure(  const  std::string&  message  );		(until
       C++11)
	  explicit failure( const std::string& message,
	  const	 std::error_code&  ec  =  std::io_errc::stream		(since
       C++11)
	  );
	  explicit failure( const char*	message,	   (1)
	  const	std::error_code&  ec  =	 std::io_errc::stream	   (2)	(since
       C++11)
	  );
	  failure(    const    failure&	  other	  );			   (3)
       (until C++11)
	  failure(	const	   failure&	 other	     )	     noexcept;
       (since C++11)

	  1-2)	Constructs  the	 exception object using	message	as explanation
       string which can
	  later	be retrieved using what().
	  ec is	used to	identify the specific reason for the failure.
	  (since C++11)
	  3) Copy constructor. Initialize the contents with those of other.
	  If *this and other both  have	 dynamic  type	std::ios_base::failure
       then
	  std::strcmp(what(), other.what()) == 0.
	  (since C++11)

Parameters
	  message - explanatory	string
	  ec	  - error code to identify the specific	reason for the failure
	  other	  - another failure to copy

Notes
	  Because copying std::ios_base::failure is not	permitted to throw ex-
       ceptions, 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::ios_base::failure::operator=

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

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

Parameters
	  other	- another exception object to assign with

Return value
	  *this

       std::ios_base::failure::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::system_error

Member functions
	  code	    returns error code
		    (public member function of std::system_error)
	  what	    returns an explanatory string
	  [virtual] (virtual public member function of std::system_error)

       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)

Example
       // Run this code

	#include <iostream>
	#include <fstream>
	int main()
	{
	    std::ifstream f("doesn't exist");
	    try	{
		f.exceptions(f.failbit);
	    } catch (const std::ios_base::failure& e)
	    {
		std::cout << "Caught an	ios_base::failure.\n"
			  << "Explanatory string: " << e.what()	<< '\n'
			  << "Error code: " << e.code()	<< '\n';
	    }
	}

Possible output:
	Caught an ios_base::failure.
	Explanatory string: ios_base::clear: unspecified iostream_category er-
       ror
	Error code: iostream:1

See also
	  io_errc the IO stream	error codes
	  (C++11) (enum)

http://cppreference.com		  2022.07.31	     std::ios_base::failure(3)

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

home | help