error_code Class
The latest version of this topic can be found at error_code Class.
Represents low-level system errors that are implementation-specific.
Syntax
class error_code;
Remarks
An object of type error_code
class stores an error code value and a pointer to an object that represents a category of error codes that describe reported low-level system errors.
Constructors
error_code | Constructs an object of type error_code . |
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 code. |
category | Returns the error category. |
clear | Clears the error code value and category. |
default_error_condition | Returns the default error condition. |
message | Returns the name of the error code. |
Operators
operator== | Tests for equality between error_code objects. |
operator!= | Tests for inequality between error_code objects. |
operator< | Tests if the error_code object is less than the error_code object passed in for comparison. |
operator= | Assigns a new enumeration value to the error_code object. |
operator bool | Casts a variable of type error_code . |
Requirements
Header: <system_error>
Namespace: std
error_code::assign
Assigns an error code value and category to an error code.
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_code::category
Returns the error category.
const error_category& category() const;
Remarks
error_code::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_code::default_error_condition
Returns the default error condition.
error_condition default_error_condition() const;
Return Value
The error_condition specified by default_error_condition.
Remarks
This member function returns category().default_error_condition(value())
.
error_code::error_code
Constructs an object of type 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);
Parameters
Parameter | Description |
---|---|
val |
The error code value to store in the error_code . |
_Cat |
The error category to store in the error_code . |
_Errcode |
The enumeration value to store in the error_code . |
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_code::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_code::operator==
Tests for equality between error_code
objects.
bool operator==(const error_code& right) const;
Parameters
Parameter | Description |
---|---|
right |
The object 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_code::operator!=
Tests for inequality between error_code
objects.
bool operator!=(const error_code& right) const;
Parameters
Parameter | Description |
---|---|
right |
The object to be tested for inequality. |
Return Value
true if the error_code
object is not equal to the error_code
object passed in right
; otherwise false.
Remarks
The member operator returns !(*this == right)
.
error_code::operator<
Tests if the error_code object is less than the error_code
object passed in for comparison.
bool operator<(const error_code& right) const;
Parameters
Parameter | Description |
---|---|
right |
The error_code object to be compared. |
Return Value
true if the error_code
object is less than the error_code
object passed in for comparison; Otherwise, false.
Remarks
The member operator returns category() < right.category() || category() == right.category() && value < right.value()
.
error_code::operator=
Assigns a new enumeration value to the error_code object.
template <class _Enum>
typename enable_if<is_error_code_enum<_Enum>::value,
error_code>::type&
operator=(_Enum _Errcode);
Parameters
Parameter | Description |
---|---|
_Errcode |
The enumeration value to assign to the error_code object. |
Return Value
A reference to the error_code
object that is being assigned the new enumeration value by the member function.
Remarks
The member operator stores (value_type)_Errcode
as the error code value and a pointer to the generic_category. It returns *this
.
error_code::operator bool
Casts a variable of type error_code
.
explicit operator bool() const;
Return Value
The Boolean value of the error_code
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_code::value
Returns the stored error code value.
value_type value() const;
Return Value
The stored error code value of type value_type.
Remarks
error_code::value_type
A type that represents the stored error code value.
typedef int value_type;
Remarks
This type definition is a synonym for int
.