Scroll to navigation

std::format_error(3) C++ Standard Libary std::format_error(3)

NAME

std::format_error - std::format_error

Synopsis


Defined in header <format>
class format_error; (since C++20)


Defines the type of exception object thrown to report errors in the formatting
library.


std-format error-inheritance.svg


Inheritance diagram

Member functions


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

std::format_error::format_error


format_error( const std::string& what_arg ); (1) (since C++20)
format_error( const char* what_arg ); (2) (since C++20)
format_error( const format_error& other ) noexcept; (3) (since C++20)


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::format_error
then std::strcmp(what(), other.what()) == 0.

Parameters


what_arg - explanatory string
other - another exception object to copy

Exceptions


1-2) May throw std::bad_alloc

Notes


Because copying std::format_error is not permitted to throw exceptions, 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::format_error::operator=


format_error& operator=( const format_error& other ) noexcept; (since C++20)


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

Parameters


other - another exception object to assign with

Return value


*this

std::format_error::what


virtual const char* what() const noexcept; (since C++20)


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 obtained 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)

Example


This section is incomplete
Reason: no example

See also

2022.07.31 http://cppreference.com