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


Класс error_code

Представляет низкоуровневые системные ошибки, которые связаны с конкретной реализацией.

Синтаксис

class error_code;

Замечания

Объект типа error_code сохраняет значение кода ошибки и указатель на объект, представляющий категорию кодов ошибок, которые описывают сообщенные низкоуровневые системные ошибки.

Участники

Конструкторы

Имя Описание
error_code Создает объект типа error_code.

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

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

Функции

Имя Описание
assign Присваивает коду ошибки значение кода ошибки и категорию.
category Возвращает категорию ошибки.
пусто Очищает значение кода ошибки и категорию.
default_error_condition Возвращает условие ошибки по умолчанию.
message Возвращает имя кода ошибки.

Операторы

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

назначить

Присваивает коду ошибки значение кода ошибки и категорию.

void assign(value_type val, const error_category& _Cat);

Параметры

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

_Кошка
Категория ошибки для хранения в error_code.

Замечания

Функция-член сохраняет val в качестве значения кода ошибки и указатель на _Cat.

Категория

Возвращает категорию ошибки.

const error_category& category() const;

Замечания

clear

Очищает значение кода ошибки и категорию.

clear();

Замечания

Функция-член сохраняет нулевое значение кода ошибки и указатель на объект generic_category.

default_error_condition

Возвращает условие ошибки по умолчанию.

error_condition default_error_condition() const;

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

Условие error_condition, задаваемое условием default_error_condition.

Замечания

Эта функция-член возвращает значение category().default_error_condition(value()).

Error_Code

Создает объект типа error_code.

error_code();

error_code(value_type val, const error_category& _Cat);

template <class _Enum>
error_code(_Enum _Errcode,
    typename enable_if<is_error_code_enum<_Enum>::value,
    error_code>::type* = 0);

Параметры

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

_Кошка
Категория ошибки для хранения в error_code.

_Errcode
Значение перечисления для хранения в error_code.

Замечания

Первый конструктор сохраняет нулевое значение кода ошибки и указатель на generic_category.

Второй конструктор сохраняет val в качестве значения кода ошибки и указатель на error_category.

Третий конструктор сохраняет (value_type)_Errcode как значение кода ошибки и указатель на generic_category.

message

Возвращает имя кода ошибки.

string message() const;

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

Значение string, представляющее имя кода ошибки.

Замечания

Эта функция-член возвращает значение category().message(value()).

operator==

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

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

Параметры

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

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

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

Замечания

Оператор-член возвращает category() == right.category() && value == right.value().

оператор!=

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

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

Параметры

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

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

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

Замечания

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

operator<

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

bool operator<(const error_code& right) const;

Параметры

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

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

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

Замечания

Оператор-член возвращает category() < right.category() || category() == right.category() && value < right.value().

operator=

Присваивает новое значение перечисления объекту error_code.

template <class _Enum>
typename enable_if<is_error_code_enum<_Enum>::value, error_code>::type&
    operator=(_Enum _Errcode);

Параметры

_Errcode
Значение перечисления для присвоения объекту error_code.

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

Ссылка на объект error_code, которому функцией-членом присваивается новое значение перечисления.

Замечания

Функция-член сохраняет (value_type)_Errcode как значение кода ошибки и указатель на generic_category. Он возвращает *this.

operator bool

Преобразует переменную типа error_code.

explicit operator bool() const;

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

Логическое значение объекта error_code.

Замечания

Оператор возвращает значение, преобразуемое в true, только тогда, когда значение не равно нулю. Тип возвращаемого значения можно преобразовать только в bool, а не в void * или другие известные скалярные типы.

значение

Возвращает сохраненное значение кода ошибки.

value_type value() const;

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

Сохраненное значение кода ошибки типа value_type.

value_type

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

typedef int value_type;

Замечания

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