Partilhar via


error_category Classe

Representa a base abstrata comum para objetos que 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

Observações

Dois objetos predefinidos implementam error_category: generic_category e system_category.

Membros

Typedefs (definições de tipos)

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 do código de erro para um objeto de condição de erro.
equivalente Retorna um valor que especifica se os objetos de erro são equivalentes.
generic_category
mensagem Retorna o nome do código de erro especificado.
Nome Retorna o nome da categoria.
system_category

Operadores

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

default_error_condition

Armazena o valor do 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 do código de erro a ser armazenado no error_condition.

Valor de retorno

Retorna error_condition(_Errval, *this).

equivalente

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 error_condition objeto a comparar.

_Code
O error_code objeto a comparar.

Valor de retorno

true se a categoria e o valor forem iguais; caso contrário, false.

Observações

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

A segunda função de 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 retorno

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

nome

Retorna o nome da categoria.

virtual const char *name() const = 0;

Valor de retorno

Retorna o nome da categoria como uma cadeia de caracteres de byte terminada em nulo.

operador=

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

Operador==

Testes de igualdade entre error_category objetos.

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

Parâmetros

direito
O objeto a ser testado para a igualdade.

Valor de retorno

true se os objetos são iguais; false se os objetos não forem iguais.

Observações

Este operador membro retorna this == &right.

operador!=

Testes de desigualdade entre error_category objetos.

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

Parâmetros

direito
O objeto a ser testado para a desigualdade.

Valor de retorno

true se o error_category objeto não for igual ao error_category objeto passado à direita, caso contrário false.

Observações

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

operator<

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

bool operator<(const error_category& right) const;

Parâmetros

direito
O error_category objeto a ser comparado.

Valor de retorno

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

Observações

O operador 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;

Observações

Esta definição de tipo é sinónimo de int.