Поделиться через


Класс error_category

Представляет абстрактный, общий базовый класс для объектов, который описывает категорию кодов ошибок.

Синтаксис

class error_category;

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

Замечания

error_category реализуют два стандартных объекта: generic_category и system_category.

Участники

Определения типов

Имя Описание
value_type Тип, представляющий сохраняемое значение кода ошибки.

Функции

Имя Описание
default_error_condition Сохраняет значение кода ошибки для объекта условия ошибки.
equivalent Возвращает значение, указывающее, эквивалентны ли объекты ошибок.
generic_category
message Возвращает имя указанного кода ошибки.
name Возвращает имя категории.
system_category

Операторы

Имя Описание
operator= Оператор присвоения.
operator== Проверяет равенство между объектами error_category.
оператор!= Проверяет неравенство между объектами 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 для сравнения.

_Код
Объект 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;

Возвращаемое значение

Возвращает имя категории как строку байтов, заканчивающуюся нулем.

operator=

error_category& operator=(const error_category&) = delete;

operator==

Проверяет равенство между объектами error_category.

bool operator==(const error_category& right) const;

Параметры

right
Объект для проверки на равенство.

Возвращаемое значение

true Значение , если объекты равны; false Значение , если объекты не равны.

Замечания

Этот оператор-член возвращает this == &right.

оператор!=

Проверяет неравенство между объектами error_category.

bool operator!=(const error_category& right) const;

Параметры

right
Объект для проверки на неравенство.

Возвращаемое значение

trueerror_category Значение , если объект не равен объекту, переданному error_category справа; в противном случае false.

Замечания

Оператор-член возвращает (!*this == right).

operator<

Проверяет, меньше ли объект error_category переданного для сравнения объекта error_category.

bool operator<(const error_category& right) const;

Параметры

right
Сравниваемый объект error_category.

Возвращаемое значение

trueerror_category Значение , если объект меньше, чем объект, переданный error_category для сравнения; falseВ противном случае .

Замечания

Оператор-член возвращает this < &right.

system_category

const error_category& system_category();

value_type

Тип, представляющий сохраняемое значение кода ошибки.

typedef int value_type;

Замечания

Это определение типа — синоним для int.