- ios[meta header]
- function[meta id-type]
- std[meta namespace]
- ios_base::failure[meta class]
explicit failure(const std::string& msg); // (1) C++03 まで
explicit failure(const std::string& msg, const error_code& ec = io_errc::stream); // (2) C++11 から
explicit failure(const char* msg, const error_code& ec = io_errc::stream); // (3) C++11 から
- error_code[link ../../../system_error/error_code.md]
- io_errc[link ../../io_errc.md]
ios_base
::
failure
オブジェクトを構築する。
- (1)
strcmp
(
what
(), msg.
c_str
()) == 0
となるios_base
::
failure
オブジェクトを構築する。 - (2)、(3) 引数
msg
とec
を用いて基底クラスを構築して、ios_base
::
failure
オブジェクトを構築する。
#include <iostream>
int main()
{
std::ios_base::failure f("error message");
std::cout << f.what() << std::endl;
}
- failure[link ../failure.md]
- std::ios_base[link ../../ios_base.md]
- what()[link what.md]
error message
#include <iostream>
#include <system_error>
int main()
{
std::ios_base::failure f1("error message");
std::cout << f1.what() << std::endl;
std::ios_base::failure f2("error message", std::make_error_code(std::errc::no_such_file_or_directory));
std::cout << f2.what() << std::endl;
}
- failure[link ../failure.md]
- std::make_error_code[link ../../../system_error/make_error_code.md]
- std::errc[link ../../../system_error/errc.md]
- std::ios_base[link ../../ios_base.md]
- what[color ff0000]
error message: unspecified iostream_category error
error message: No such file or directory
- C++98
- Clang: 3.0 [mark verified], 3.1 [mark verified], 3.2 [mark verified], 3.3 [mark verified], 3.4 [mark verified], 3.5.0 [mark verified], 3.6.0 [mark verified], 3.7.0 [mark verified], 3.8.0 [mark verified]
- GCC: 4.3.6 [mark verified], 4.4.7 [mark verified], 4.5.4 [mark verified], 4.6.4 [mark verified], 4.7.3 [mark verified], 4.8.1 [mark verified], 4.8.2 [mark verified], 4.9.0 [mark verified], 4.9.1 [mark verified], 4.9.2 [mark verified], 5.1.0 [mark verified], 5.2.0 [mark verified], 6.0.0 [mark verified]
- ICC: ??
- Visual C++: ??