error_category 类
表示描述错误代码类别的对象的抽象、公用基。
语法
class error_category;
constexpr error_category() noexcept;
virtual ~error_category();
error_category(const error_category&) = delete
备注
两个预定义的对象实现 error_category
:generic_category 和 system_category。
成员
Typedef
名称 | 描述 |
---|---|
value_type | 表示存储的错误代码值的类型。 |
函数
名称 | 描述 |
---|---|
default_error_condition | 存储错误条件对象的错误代码值。 |
equivalent | 返回指定错误对象是否相等的值。 |
generic_category | |
message | 返回指定错误代码的名称。 |
name | 返回类别名称。 |
system_category |
运算符
名称 | 描述 |
---|---|
operator= | 赋值运算符。 |
operator== | 测试各 error_category 对象是否相等。 |
operator!= | 测试各 error_category 对象是否不相等。 |
operator< | 测试 error_category 对象是否小于要比较的传入 error_category 对象。 |
default_error_condition
存储错误条件对象的错误代码值。
virtual error_condition default_error_condition(int _Errval) const;
参数
_Errval
要存储在 error_condition 中的错误代码值。
返回值
返回 error_condition(_Errval, *this)
。
注解
equivalent
返回指定错误对象是否相等的值。
virtual bool equivalent(value_type _Errval,
const error_condition& _Cond) const;
virtual bool equivalent(const error_code& _Code,
value_type _Errval) const;
参数
_Errval
要比较的错误代码值。
_Cond
要比较的 error_condition 对象。
_Code
要比较的 error_code 对象。
返回值
如果类别和值相等则为 true
;否则为 false
。
备注
第一个成员函数返回 *this == _Cond.category() && _Cond.value() == _Errval
。
第二个成员函数返回 *this == _Code.category() && _Code.value() == _Errval
。
generic_category
const error_category& generic_category();
message
返回指定错误代码的名称。
virtual string message(error_code::value_type val) const = 0;
参数
val
要描述的错误代码值。
返回值
为类别返回错误代码 val 的描述性名称。 如果未识别错误代码,则返回 "unknown error"
。
备注
name
返回类别名称。
virtual const char *name() const = 0;
返回值
返回作为以 null 结尾的字节字符串的类别名称。
operator=
error_category& operator=(const error_category&) = delete;
operator==
测试各 error_category
对象是否相等。
bool operator==(const error_category& right) const;
参数
right
要测试是否相等的对象。
返回值
如果对象相等,则为 true
;如果对象不相等,则为 false
。
备注
此成员运算符将返回 this == &right
。
operator!=
测试各 error_category
对象是否不相等。
bool operator!=(const error_category& right) const;
参数
right
要测试是否不相等的对象。
返回值
如果 error_category
对象不等于 right 中的传入对象 error_category
,则为 true
;否则为 false
。
注解
该成员运算符将返回 (!*this == right)
。
operator<
测试 error_category 对象是否小于要比较的传入 error_category
对象。
bool operator<(const error_category& right) const;
参数
right
要比较的 error_category
对象。
返回值
如果 error_category
对象小于要比较的传入对象 error_category
,则为 true
;否则为 false
。
备注
该成员运算符将返回 this < &right
。
system_category
const error_category& system_category();
value_type
表示存储的错误代码值的类型。
typedef int value_type;
备注
此类型定义是 int
的同义词。