◐ Shell
clean mode source ↗

std::system_category - cppreference.com

提供: cppreference.com

<tbody> </tbody>

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

関連項目