名前空間
変種
操作

std::system_category

提供: cppreference.com
< cpp‎ | error
 
 
 
 
ヘッダ <system_error> で定義
const std::error_category& system_category() noexcept;
(C++11およびそれ以降)

オペレーティングシステムによって報告されるエラーのための静的なエラーカテゴリオブジェクトを指す参照を取得します。 オブジェクトは文字列 "system" を指すポインタを返すために仮想関数 std::error_category::name() をオーバーライドすることが要求されます。 また POSIX の errno の値にマッチするエラーコードを std::generic_category にマップするために仮想関数 std::error_category::default_error_condition() をオーバーライドすることも要求されます。

目次

[編集] 引数

(なし)

[編集] 戻り値

std::error_category から派生した未規定な実行時型の静的なオブジェクトを指す参照。

[編集]

#include <iostream>
#include <system_error>
#include <iomanip>
#include <string>
 
int main()
{
    std::error_condition econd = std::system_category().default_error_condition(EDOM);
    std::cout << "Category: " << econd.category().name() << '\n'
              << "Value: " << econd.value() << '\n'
              << "Message: " << econd.message() << '\n';
 
    econd = std::system_category().default_error_condition(10001);
    std::cout << "Category: " << econd.category().name() << '\n'
              << "Value: " << econd.value() << '\n'
              << "Message: " << econd.message() << '\n';
}

出力:

Category: generic
Value: 33
Message: Numerical argument out of domain
Category: system
Value: 10001
Message: Unknown error 10001

[編集] 関連項目

一般エラーカテゴリを識別します
(関数) [edit]
(C++11)
標準の <cerrno> のマクロ定数をすべて並べた std::error_condition 用の列挙型
(クラス) [edit]