namespace std {
const error_category& system_category() noexcept;
}
概要
環境固有のエラーに関するerror_category
を返す。
戻り値
error_category
クラスを継承したクラスオブジェクトへの参照を返す。
この関数を呼び出すことによって返されるオブジェクトは、同じオブジェクトを指す。
この関数によって返されるオブジェクトのクラスは以下の特徴を持つ:
name()
関数によって返される文字列は"system"
equivalent()
仮想関数の挙動は、基底クラスであるerror_category
と同じであるdefault_error_condition()
仮想関数は、パラメータev
がPOSIXのerrno
であった場合error_condition(ev, generic_category());
を返し、そうでない場合はerror_condition(ev, system_category());
を返す。特定のOSに関する処理は未規定。ただし、POSIXのエラー値に対応していない場合がありえるため、環境によってはgeneric_category()
が返される挙動はサポートされない。
例外
投げない
例
#include <iostream>
#include <system_error>
#include <string>
int main()
{
const std::error_category& cat = std::system_category();
std::cout << cat.name() << std::endl;
std::cout << cat.message(static_cast<int>(std::errc::invalid_argument)) << std::endl;
}
出力
system
Invalid argument
バージョン
言語
- C++11
処理系
- Clang: ??
- GCC: 4.6.1 ✅
- ICC: ??
- Visual C++: 2010 ✅