Spec-Zone.ru › C++

std::bad_optional_access

Определён в заголовочном файле <optional>
class bad_optional_access;
(начиная с C++17)

Определяет тип объекта, который выбрасывается std::optional::value при обращении к объекту optional, не содержащему значения.

cpp/error/exception

Диаграмма наследования

Функции-члены

(конструктор)
создаёт новый объект 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) Конструктор копирования. Если *this и other имеют динамический тип std::bad_optional_access, то std::strcmp(what(), other.what()) == 0.

Параметры

other - другой объект исключения для копирования

std::bad_optional_access::operator=

bad_optional_access& operator=( const bad_optional_access& other ) noexcept;
(начиная с C++17)

Присваивает содержимое объекта содержимому other. Если *this и other имеют динамический тип std::bad_optional_access, то после присваивания std::strcmp(what(), other.what()) == 0.

Параметры

other - другой объект исключения, содержимое которого присваивается

Возвращаемое значение

*this

std::bad_optional_access::what

virtual const char* what() const noexcept;
(начиная с C++17)

Возвращает поясняющую строку.

Возвращаемое значение

Указатель на завершающуюся нулём строку с пояснительной информацией, определяемую реализацией. Строка подходит для преобразования и отображения в виде std::wstring. Указатель гарантированно действителен как минимум до уничтожения объекта исключения, из которого он получен, либо до вызова неконстантной функции-члена (например, оператора присваивания копированием) для объекта исключения.

При вычислении константного выражения возвращаемая строка кодируется с использованием кодировки обычных строковых литералов.

(начиная с C++26)

Примечания

Реализациям разрешено, но не обязательно, переопределять what().

Унаследовано от std::exception

Функции-члены

(деструктор)
[виртуальная]
уничтожает объект исключения
(виртуальная открытая функция-член std::exception)
what
[виртуальная]
возвращает поясняющую строку
(виртуальная открытая функция-член std::exception)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/utility/optional/bad_optional_access

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API