- ios[meta header]
- function[meta id-type]
- std[meta namespace]
- ios_base::failure[meta class]
virtual const char* what() const throw(); // C++03 まで
メッセージを取得する。
例外を作成した際に指定されたメッセージをヌル終端文字列で返す。
一見 C++11 で what()
が無くなっているように見えるが、system_error
::what()
を継承しているため、メンバ関数自体は使用可能である。
ただし、例外を作成した際に指定したメッセージと完全一致はしないので注意。
#include <iostream>
int main()
{
std::ios_base::failure f("error message");
std::cout << f.what() << std::endl;
}
- what()[color ff0000]
- failure[link ../failure.md]
- std::ios_base[link ../../ios_base.md]
error message
- C++98
- Clang: 3.0, 3.1, 3.2, 3.3, 3.4, 3.5.0, 3.6.0, 3.7.0, 3.8.0
- GCC: 4.3.6, 4.4.7, 4.5.4, 4.6.4, 4.7.3, 4.8.1, 4.8.2, 4.9.0, 4.9.1, 4.9.2, 5.1.0, 5.2.0, 6.0.0
- GCC, C++11 mode: 5.1.0, 5.2.0, 6.0.0
- ICC: ??
- Visual C++: ??