public member function
<exception>

std::exception::what

virtual const char* what() const throw();
virtual const char* what() const noexcept;
Get string identifying exception
Returns a null terminated character sequence that may be used to identify the exception.

The particular representation pointed by the returned value is implementation-defined.

As a virtual function, derived classes may redefine this function so that specific values are returned.

Parameters

none

Return Value

A pointer to a c-string with content related to the exception.
This 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 of the exception object is called.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// exception::what #include <iostream> // std::cout #include <exception> // std::exception struct ooops : std::exception { const char* what() const noexcept {return "Ooops!\n";} }; int main () { try { throw ooops(); } catch (std::exception& ex) { std::cout << ex.what(); } return 0; }

Possible output:
Ooops! 


Exception safety

No-throw guarantee: this member function never throws exceptions.
This also applies to all derived classes within the C++ standard library.

See also