error_condition 類別
代表使用者定義的錯誤碼。
語法
class error_condition;
備註
error_condition
類型的物件會儲存錯誤碼值和物件指標,該物件表示的錯誤碼分類可用來回報使用者定義的錯誤。
成員
建構函式
名稱 | 描述 |
---|---|
error_condition | 建構類型 error_condition 的物件。 |
Typedefs
名稱 | 描述 |
---|---|
value_type | 此類型表示預存的錯誤碼值。 |
函式
名稱 | 描述 |
---|---|
assign | 可針對錯誤狀況指派錯誤碼值和分類。 |
category | 傳回錯誤分類。 |
clear | 清除錯誤碼值和分類。 |
message | 傳回錯誤碼的名稱。 |
操作員
名稱 | 描述 |
---|---|
operator== | 測試 error_condition 物件是否相等。 |
operator!= | 測試 error_condition 物件是否不相等。 |
運算子< | 測試 error_condition 物件是否小於傳入以進行比較的 error_code 物件。 |
operator= | 將新的列舉值指派給 error_condition 物件。 |
operator bool | 轉換 error_condition 類型的變數。 |
assign
可針對錯誤狀況指派錯誤碼值和分類。
void assign(value_type val, const error_category& _Cat);
參數
val
要儲存在 error_code
中的錯誤碼值。
_貓
要儲存在 error_code
中的錯誤分類。
備註
成員函式會將 val 儲存為錯誤碼值,以及_Cat的指標。
category
傳回錯誤分類。
const error_category& category() const;
傳回值
預存的錯誤分類參考。
備註
clear
清除錯誤碼值和分類。
clear();
備註
成員函式會儲存零的錯誤碼值以及 generic_category 物件的指標。
error_condition
建構類型 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);
參數
val
要儲存在 error_condition
中的錯誤碼值。
_貓
要儲存在 error_condition
中的錯誤分類。
_Errcode
要儲存在 error_condition
中的列舉值。
備註
第一個建構函式會儲存零的錯誤碼值以及 generic_category 的指標。
第二個建構函式會將 val 儲存為錯誤碼值,以及error_category的指標。
第三個建構函式會儲存 (value_type)_Errcode
作為錯誤碼值,並儲存 generic_category 的指標。
message
傳回錯誤碼的名稱。
string message() const;
傳回值
string
,表示錯誤碼的名稱。
備註
此成員函式會傳回 category().message(value())
。
operator==
測試 error_condition
物件是否相等。
bool operator==(const error_condition& right) const;
參數
right
要測試是否相等的物件。
傳回值
true
如果物件相等,則為 ; false
如果物件不相等,則為 。
備註
此成員運算子會傳回 category() == right.category() && value == right.value()
。
operator!=
測試 error_condition
物件是否不相等。
bool operator!=(const error_condition& right) const;
參數
right
要測試是否不相等的物件。
傳回值
true
error_condition
如果物件不等於傳入右邊的物件,則error_condition
為 ,否則false
為 。
備註
此成員運算子會傳回 !(*this == right)
。
operator<
測試 error_condition
物件是否小於傳入以進行比較的 error_code
物件。
bool operator<(const error_condition& right) const;
參數
right
要比較的 error_condition
物件。
傳回值
true
error_condition
如果物件小於傳入以進行比較的物件,error_condition
則為 ;否則為 false
。
備註
此成員運算子會傳回 category() < right.category() || category() == right.category() && value < right.value()
。
operator=
將新的列舉值指派給 error_condition
物件。
template <class _Enum>
error_condition(_Enum error,
typename enable_if<is_error_condition_enum<_Enum>::value,
error_condition>::type&
operator=(Enum _Errcode);
參數
_Errcode
要指派給 error_condition
物件的列舉值。
傳回值
error_condition
物件的參考,該物件為成員函式要指派新列舉值的目標 。
備註
成員運算子會儲存 (value_type)error
作為錯誤碼值,並儲存 generic_category 的指標。 它會傳回 *this
。
operator bool
轉換 error_condition
類型的變數。
explicit operator bool() const;
傳回值
error_condition
物件的布林值。
備註
只有當 value 不等於零時,運算子才會傳回可以轉換成 true
的值。 傳回類型僅可轉換為 bool
,而非 void *
或其他已知的純量類型。
value
傳回預存的錯誤碼值。
value_type value() const;
傳回值
value_type 類型的預存錯誤碼值。
備註
value_type
此類型表示預存的錯誤碼值。
typedef int value_type;
備註
此類型定義與 int
同義。