error_condition Class
The latest version of this topic can be found at error_condition Class.
Represents user-defined error codes.
Syntax
class error_condition;
Remarks
An object of type error_condition
stores an error code value and a pointer to an object that represents a category of error codes used for reported user-defined errors.
Constructors
error_condition | Constructs an object of type error_condition . |
Typedefs
value_type | A type that represents the stored error code value. |
Member Functions
assign | Assigns an error code value and category to an error condition. |
category | Returns the error category. |
clear | Clears the error code value and category. |
message | Returns the name of the error code. |
Operators
operator== | Tests for equality between error_condition objects. |
operator!= | Tests for inequality between error_condition objects. |
operator< | Tests if the error_condition object is less than the error_code object passed in for comparison. |
operator= | Assigns a new enumeration value to the error_condition object. |
operator bool | Casts a variable of type error_condition . |
Requirements
Header: <system_error>
Namespace: std
error_condition::assign
Assigns an error code value and category to an error condition.
void assign(value_type val, const error_category& _Cat);
Parameters
Parameter | Description |
---|---|
val |
The error code value to store in the error_code . |
_Cat |
The error category to store in the error_code . |
Remarks
The member function stores val
as the error code value and a pointer to _Cat
.
error_condition::category
Returns the error category.
const error_category& category() const;
Return Value
A reference to the stored error category
Remarks
error_condition::clear
Clears the error code value and category.
clear();
Remarks
The member function stores a zero error code value and a pointer to the generic_category object.
error_condition::error_condition
Constructs an object of type error_condition
.
error_condition();
error_condition(value_type val, const error_category& _Cat);
template <class _Enum>
error_condition(_Enum _Errcode,
typename enable_if<is_error_condition_enum<_Enum>::value,
error_code>::type* = 0);
Parameters
Parameter | Description |
---|---|
val |
The error code value to store in the error_condition . |
_Cat |
The error category to store in the error_condition . |
_Errcode |
The enumeration value to store in the error_condition . |
Remarks
The first constructor stores a zero error code value and a pointer to the generic_category.
The second constructor stores val
as the error code value and a pointer to error_category.
The third constructor stores (value_type)_Errcode
as the error code value and a pointer to the generic_category.
error_condition::message
Returns the name of the error code.
string message() const;
Return Value
A string
representing the name of the error code.
Remarks
This member function returns category().message(value())
.
error_condition::operator==
Tests for equality between error_condition
objects.
bool operator==(const error_condition& right) const;
Parameters
Parameter | Description |
---|---|
right |
The ojbect to be tested for equality. |
Return Value
true if the objects are equal; false if objects are not equal.
Remarks
The member operator returns category() == right.category() && value == right.value()
.
error_condition::operator!=
Tests for inequality between error_condition
objects.
bool operator!=(const error_condition& right) const;
Parameters
Parameter | Description |
---|---|
right |
The object to be tested for inequality. |
Return Value
true if the error_condition
object is not equal to the error_condition
object passed in right
; otherwise false.
Remarks
The member operator returns !(*this == right)
.
error_condition::operator<
Tests if the error_condition
object is less than the error_code
object passed in for comparison.
bool operator<(const error_condition& right) const;
Parameters
Parameter | Description |
---|---|
right |
The error_condition object to be compared. |
Return Value
true if the error_condition
object is less than the error_condition
object passed in for comparison; Otherwise, false.
Remarks
The member operator returns category() < right.category() || category() == right.category() && value < right.value()
.
error_condition::operator=
Assigns a new enumeration value to the error_condition
object.
template <class _Enum>
error_condition(_Enum error,
typename enable_if<is_error_condition_enum<_Enum>::value,
error_condition>::type&
operator=(Enum _Errcode);
Parameters
Parameter | Description |
---|---|
_Errcode |
The enumeration value to assign to the error_condition object. |
Return Value
A reference to the error_condition
object that is being assigned the new enumeration value by the member function.
Remarks
The member operator stores (value_type)error
as the error code value and a pointer to the generic_category. It returns *this
.
error_condition::operator bool
Casts a variable of type error_condition
.
explicit operator bool() const;
Return Value
The Boolean value of the error_condition
object.
Remarks
The operator returns a value convertible to true
only if value is not equal to zero. The return type is convertible only to bool
, not to void *
or other known scalar types.
error_condition::value
Returns the stored error code value.
value_type value() const;
Return Value
The stored error code value of type value_type.
Remarks
error_condition::value_type
A type that represents the stored error code value.
typedef int value_type;
Remarks
The type definition is a synonym for int
.