FreeBSD Manual Pages
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)
NAME | Synopsis | Member functions | Parameters | Notes | Parameters | Return value | Parameters | Return value | Notes | Member functions | Member functions | Example | Possible output: | See also
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>
