• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    class
    <optional>

    std::bad_optional_access

    namespace std {
      class bad_optional_access : public exception;
    }
    

    概要

    std::bad_optional_accessは、std::optionalクラスのオブジェクトの無効な値にアクセスした場合に発生する例外である。

    メンバ関数

    名前 説明 対応バージョン
    bad_optional_access(); デフォルトコンストラクタ C++17
    virtual const char* what() const noexcept; エラー理由となる実装依存文字列 C++17

    #include <iostream>
    #include <optional>
    
    int main()
    {
      std::optional<int> p;
      try {
        p.value(); // 有効値を保持していないのに、有効値を取り出そうとした
      }
      catch (std::bad_optional_access& e) {
        std::cout << "exception : " << e.what() << std::endl;
      }
    }
    

    出力例

    exception : bad optional access
    

    バージョン

    言語

    • C++17

    処理系

    参照