error_category 類別
代表物件的抽象、通用基底,以描述錯誤碼的分類。
語法
class error_category;
constexpr error_category() noexcept;
virtual ~error_category();
error_category(const error_category&) = delete
備註
下列兩個預先定義的物件會實作 error_category
:generic_category 和 system_category。
成員
Typedefs
名稱 | 描述 |
---|---|
value_type | 此類型表示預存的錯誤碼值。 |
函式
名稱 | 描述 |
---|---|
default_error_condition | 儲存錯誤狀況物件的錯誤碼值。 |
equivalent | 傳回的值可指定錯誤物件是否相等。 |
generic_category | |
message | 傳回指定錯誤碼的名稱。 |
name | 傳回分類的名稱。 |
system_category |
操作員
名稱 | 描述 |
---|---|
operator= | 指派運算子。 |
operator== | 測試 error_category 物件是否相等。 |
operator!= | 測試 error_category 物件是否不相等。 |
運算子< | 測試 error_category 物件是否小於傳入以進行比較的 error_category 物件。 |
default_error_condition
儲存錯誤狀況物件的錯誤碼值。
virtual error_condition default_error_condition(int _Errval) const;
參數
_Errval
要儲存在 error_condition 中的錯誤碼值。
傳回值
傳回 error_condition(_Errval, *this)
。
備註
equivalent
傳回的值可指定錯誤物件是否相等。
virtual bool equivalent(value_type _Errval,
const error_condition& _Cond) const;
virtual bool equivalent(const error_code& _Code,
value_type _Errval) const;
參數
_Errval
要比較的錯誤碼值。
_待續
要比較的 error_condition 物件。
_法典
要比較的 error_code 物件。
傳回值
如果分類和值相等,即為 true
;否則為 false
。
備註
第一個成員函式會傳回 *this == _Cond.category() && _Cond.value() == _Errval
。
第二個成員函式會傳回 *this == _Code.category() && _Code.value() == _Errval
。
generic_category
const error_category& generic_category();
message
傳回指定錯誤碼的名稱。
virtual string message(error_code::value_type val) const = 0;
參數
val
要描述的錯誤碼值。
傳回值
傳回類別之錯誤碼 val 的描述性名稱。 如果無法辨識錯誤碼,則會傳 "unknown error"
回 。
備註
NAME
傳回分類的名稱。
virtual const char *name() const = 0;
傳回值
傳回分類的名稱 (其為以 Null 結束的位元組字串)。
operator=
error_category& operator=(const error_category&) = delete;
operator==
測試 error_category
物件是否相等。
bool operator==(const error_category& right) const;
參數
right
要測試是否相等的物件。
傳回值
true
如果物件相等,則為 ; false
如果物件不相等,則為 。
備註
此成員運算子會傳回 this == &right
。
operator!=
測試 error_category
物件是否不相等。
bool operator!=(const error_category& right) const;
參數
right
要測試是否不相等的物件。
傳回值
true
error_category
如果物件不等於傳入右邊的物件,則error_category
為 ,否則false
為 。
備註
此成員運算子會傳回 (!*this == right)
。
operator<
測試 error_category 物件是否小於傳入以進行比較的 error_category
物件。
bool operator<(const error_category& right) const;
參數
right
要比較的 error_category
物件。
傳回值
true
error_category
如果物件小於傳入以進行比較的物件,error_category
則為 ;否則為 false
。
備註
此成員運算子會傳回 this < &right
。
system_category
const error_category& system_category();
value_type
此類型表示預存的錯誤碼值。
typedef int value_type;
備註
此類型定義與 int
同義。