explicit operator bool() const noexcept;
概要
error_code
オブジェクトがエラー状態であるかを判定する。
error_code
クラスのデフォルトエラー値である0
が正常と見なされ、それ以外の場合はエラーと見なされる。
true
の場合はエラーであることを意味し、false
の場合は正常を意味する。
戻り値
value() != 0
例外
投げない
例
#include <iostream>
#include <system_error>
#include <string>
void print(const std::error_code& ec)
{
if (ec) {
std::cout << "error! : " << ec.message() << std::endl;
}
else {
std::cout << "success" << std::endl;
}
}
int main()
{
std::error_code err1;
print(err1);
std::error_code err2(static_cast<int>(std::errc::invalid_argument),
std::generic_category());
print(err2);
}
xxxxxxxxxx
#include <iostream>
#include <system_error>
#include <string>
void print(const std::error_code& ec)
{
if (ec) {
std::cout << "error! : " << ec.message() << std::endl;
}
else {
std::cout << "success" << std::endl;
}
}
int main()
{
std::error_code err1;
print(err1);
std::error_code err2(static_cast<int>(std::errc::invalid_argument),
std::generic_category());
print(err2);
}
出力
success
error! : Invalid argument
バージョン
言語
- C++11
処理系
- Clang: ??
- GCC: 4.6.1 ✅
- ICC: ??
- Visual C++: 2010 ✅