- system_error[meta header]
- std[meta namespace]
- function[meta id-type]
- cpp11[meta cpp]
namespace std {
const error_category& system_category() noexcept;
}
- error_category[link error_category.md]
環境固有のエラーに関する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;
}
- std::system_category()[color ff0000]
- std::error_category[link error_category.md]
- cat.name()[link error_category/name.md]
- cat.message[link error_category/message.md]
- std::errc::invalid_argument[link errc.md]
system
Invalid argument
- C++11
- Clang: ??
- GCC: 4.6.1 [mark verified]
- ICC: ??
- Visual C++: 2010 [mark verified]