error_category 类

表示描述错误代码类别的对象的抽象、公用基。

语法

class error_category;

constexpr error_category() noexcept;
virtual ~error_category();
error_category(const error_category&) = delete

备注

两个预定义的对象实现 error_categorygeneric_categorysystem_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 的同义词。