Namespaces
Variants

std::error_condition

cppreference.netから
 
 
ユーティリティライブラリ
言語サポート
型サポート (基本型、RTTI)
ライブラリ機能テストマクロ (C++20)
プログラムユーティリティ
可変個引数関数
コルーチンサポート (C++20)
契約サポート (C++26)
三方比較
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

汎用ユーティリティ
関係演算子 (C++20で非推奨)
整数比較関数
(C++20)(C++20)(C++20)    
(C++20)
Swapと型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
共通の語彙型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
 
ヘッダ <system_error>
class error_condition;
で定義されます (C++11から)

std::error_condition プラットフォームに依存しないエラー状態を識別する値を保持します。 std::error_code と同様に、整数値と std::error_category によって一意に識別されますが、 std::error_code とは異なり、その値はプラットフォームに依存しません。

典型的な実装では、1つの整数データメンバ (値) と std::error_category へのポインタを保持します。

メンバー関数

error_conditionを構築する
(公開メンバ関数)
内容を置き換える
(公開メンバ関数)
内容を置き換える
(公開メンバ関数)
error_condition を generic_category の値 ​ 0 ​ に設定する
(公開メンバ関数)
error_condition の値を取得する
(公開メンバ関数)
この error_condition の error_category を取得する
(公開メンバ関数)
説明文字列を取得する
(公開メンバ関数)
値が非ゼロかどうかをチェックする
(公開メンバ関数)

非メンバー関数

(removed in C++20) (removed in C++20) (C++20)
error_conditionとerror_codeを比較
(関数)

ヘルパークラス

列挙型を std::error_condition として識別する
(クラステンプレート)
std::error_condition のハッシュサポート
(クラステンプレート特殊化)

注記

比較 は、 std::error_code と std::error_condition の間で、それらのエラーカテゴリによって定義されます。特に、 std::generic_category のエラー条件は、同じ種類のエラーを表す場合、特定のカテゴリ(例: std::system_category )のエラーコードと等しいと比較される可能性があります。

std::errc 値は、暗黙的な std::error_condition への変換を通じてエラーコードと比較できます。

#include <cerrno>
#include <iostream>
#include <system_error>
#include <Windows.h>
int main()
{
    std::error_code ec{ERROR_FILE_EXISTS, std::system_category()};
    std::error_condition econd{EEXIST, std::generic_category()};
    std::cout.setf(std::ios::boolalpha);
    std::cout << (ec == econd) << '\n'; // 通常 true
    std::cout << (ec == std::errc::file_exists) << '\n'; // 同上
    std::cout << (ec == make_error_code(std::errc::file_exists)) << '\n'; // false:
                                                                     // 異なるカテゴリ
}

出力例:

true
true
false

関連項目

(C++11)
プラットフォーム依存のエラーコードを保持する
(クラス)
エラーカテゴリの基底クラス
(クラス)
errc 値に対するエラー条件を作成する e
(関数)