Partilhar via


Classe error_category

Representa a base abstrata e comum para objetos e descreve uma categoria de códigos de erro.

Sintaxe

class error_category;

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

Comentários

Dois objetos predefinidos implementam error_category: generic_category e system_category.

Membros

Typedefs

Nome Descrição
value_type Um tipo que representa o valor do código de erro armazenado.

Funções

Nome Descrição
default_error_condition Armazena o valor de código de erro para um objeto de condição de erro.
equivalent Retorna um valor que especifica se os objetos de erro são equivalentes.
generic_category
message Retorna o nome do código de erro especificado.
name Retorna o nome da categoria.
system_category

Operadores

Nome Descrição
operator= Operador de atribuição.
operator== Testa a igualdade entre objetos error_category.
operator!= Testa a desigualdade entre objetos error_category.
operator< Testa se um objeto error_category é menor que o objeto error_category passado para comparação.

default_error_condition

Armazena o valor de código de erro para um objeto de condição de erro.

virtual error_condition default_error_condition(int _Errval) const;

Parâmetros

_Errval
O valor de código de erro para armazenar em error_condition.

Valor de Devolução

Retorna error_condition(_Errval, *this).

Comentários

equivalent

Retorna um valor que especifica se os objetos de erro são equivalentes.

virtual bool equivalent(value_type _Errval,
    const error_condition& _Cond) const;

virtual bool equivalent(const error_code& _Code,
    value_type _Errval) const;

Parâmetros

_Errval
O valor do código de erro a ser comparado.

_Cond
O objeto error_condition a ser comparado.

_Code
O objeto error_code a ser comparado.

Valor de Devolução

true se a categoria e valor forem iguais. Caso contrário, false.

Comentários

A primeira função membro retorna *this == _Cond.category() && _Cond.value() == _Errval.

A segunda função membro retorna *this == _Code.category() && _Code.value() == _Errval.

generic_category

const error_category& generic_category();

mensagem

Retorna o nome do código de erro especificado.

virtual string message(error_code::value_type val) const = 0;

Parâmetros

val
O valor do código de erro a ser descrito.

Valor de Devolução

Retorna um nome descritivo do código de erro val para a categoria. Se o código de erro não for reconhecido, retornará "unknown error".

Comentários

name

Retorna o nome da categoria.

virtual const char *name() const = 0;

Valor de Devolução

Retorna o nome da categoria como uma cadeia de caracteres de byte com terminação nula.

operator=

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

operator==

Testa a igualdade entre objetos error_category.

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

Parâmetros

direita
O objeto a ser testado quanto à igualdade.

Valor de Devolução

true se os objetos forem iguais, false se não forem iguais.

Comentários

Esse operador de membro retorna this == &right.

operator!=

Testa a desigualdade entre objetos error_category.

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

Parâmetros

direita
O objeto a ser testado quanto à desigualdade.

Valor de Devolução

true se o objeto error_category não for igual ao objeto error_category passado em right; caso contrário, false.

Comentários

O operador de membro retorna (!*this == right).

operator<

Testa se um objeto error_category é menor que o objeto error_category passado para comparação.

bool operator<(const error_category& right) const;

Parâmetros

direita
O objeto error_category a ser comparado.

Valor de Devolução

true se o objeto error_category for menor que o objeto error_category passado para comparação; caso contrário, false.

Comentários

O operador de membro retorna this < &right.

system_category

const error_category& system_category();

value_type

Um tipo que representa o valor do código de erro armazenado.

typedef int value_type;

Comentários

Esta definição de tipo é um sinônimo para int.