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


Класс 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 Сохраняет значение кода ошибки для объекта условия ошибки.
эквивалентный Возвращает значение, указывающее, эквивалентны ли объекты ошибок.
generic_category
сообщение Возвращает имя указанного кода ошибки.
имя Возвращает имя категории.
system_category

Операторы

Имя Описание
оператор = Оператор присвоения.
оператор == Проверяет равенство между объектами error_category.
оператор!= Проверяет неравенство между объектами error_category.
оператор< Проверяет, меньше ли объект error_category переданного для сравнения объекта error_category.

default_error_condition

Сохраняет значение кода ошибки для объекта условия ошибки.

virtual error_condition default_error_condition(int _Errval) const;

Параметры

_Errval
Значение кода ошибки для хранения в error_condition.

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

Возвращает error_condition(_Errval, *this).

эквивалентный

Возвращает значение, указывающее, эквивалентны ли объекты ошибок.

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".

имя

Возвращает имя категории.

virtual const char *name() const = 0;

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

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

operator=

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

operator==

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

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

Параметры

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

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

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

Замечания

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

оператор!=

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

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

Параметры

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

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

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

Замечания

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

operator<

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

bool operator<(const error_category& right) const;

Параметры

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

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

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

Замечания

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

system_category

const error_category& system_category();

value_type

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

typedef int value_type;

Замечания

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