std::system_category
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <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 から派生した未規定な実行時型の静的なオブジェクトを指す参照。
例
Run this code
#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
関連項目
(C++11) |
一般エラーカテゴリを識別します (関数) |
(C++11) |
標準の <cerrno> のマクロ定数をすべて並べた std::error_condition 用の列挙型 (クラス) |