名稱空間
變體
操作

std::bad_optional_access

來自 cppreference.com
< cpp‎ | utility‎ | optional
 
 
 
 
定義於標頭檔案 <optional>
class bad_optional_access;
(C++17 起)

定義一種物件型別,當訪問不包含值的可選物件時,std::optional::value 會丟擲該型別物件。

cpp/error/exceptionstd-bad optional access-inheritance-lwg2806.svg

繼承圖

目錄

[編輯] 成員函式

(建構函式)
構造一個新的 bad_optional_access 物件
(公開成員函式)
operator=
替換 bad_optional_access 物件
(公開成員函式)
what
返回解釋字串
(公開成員函式)

std::bad_optional_access::bad_optional_access

bad_optional_access() noexcept;
(1) (C++17 起)
bad_optional_access( const bad_optional_access& other ) noexcept;
(2) (C++17 起)

構造一個新的 bad_optional_access 物件,其包含一個實現定義的以空字元結尾的位元組字串,該字串可透過 what() 訪問。

1) 預設建構函式。
2) 複製建構函式。如果 *thisother 都具有動態型別 std::bad_optional_access,則 std::strcmp(what(), other.what()) == 0

引數

其他 - 要複製的另一個異常物件

std::bad_optional_access::operator=

bad_optional_access& operator=( const bad_optional_access& other ) noexcept;
(C++17 起)

將內容賦值為 other 的內容。如果 *thisother 都具有動態型別 std::bad_optional_access,則賦值後 std::strcmp(what(), other.what()) == 0

引數

其他 - 用於賦值的另一個異常物件

返回值

*this

std::bad_optional_access::what

virtual const char* what() const noexcept;
(C++17 起)

返回解釋字串。

返回值

指向一個實現定義的以空字元結尾的字串的指標,其中包含解釋性資訊。該字串適合轉換為 std::wstring 並顯示。該指標保證至少在獲取它的異常物件被銷燬之前,或者在該異常物件上呼叫非 const 成員函式(例如複製賦值運算子)之前有效。

在常量求值期間,返回的字串使用普通字面量編碼進行編碼。

(C++26 起)

注意

允許但不要求實現重寫 what()

繼承自 std::exception

成員函式

[虛擬函式]
銷燬異常物件
(std::exception 的虛公共成員函式) [編輯]
[虛擬函式]
返回解釋字串
(std::exception 的虛公共成員函式) [編輯]