Spec-Zone.ru › C++

std::meta::exception

Определён в заголовочном файле <meta>
class exception : public std::exception
(начиная с C++26)

Определяет тип объекта, который выбрасывается при сбое функциями отражения.

Объекты типа std::meta::exception можно создавать и использовать только при вычислении константных выражений.

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

(constructor)
создаёт объект meta::exception
(открытая функция-член)
what
возвращает поясняющую строку
(открытая функция-член)
u8what
возвращает поясняющую строку в виде std::u8string_view
(открытая функция-член)
from
возвращает связанный объект std::meta::info
(открытая функция-член)
where
возвращает связанный std::source_location
(открытая функция-член)

std::meta::exception::exception

consteval exception( std::u8string_view u8what_arg, std::meta::info from,
                     std::source_location where = std::source_location::current() ) noexcept;
(1)
consteval exception( std::string_view what_arg, std::meta::info from,
                     std::source_location where = std::source_location::current() ) noexcept;
(2)
consteval exception( const exception& ) = default;
(3)
consteval exception( exception&& ) = default;
(4)

Создаёт новый объект std::meta::info. Инициализирует сохранённые значения соответствующими параметрами.

1) Если u8what_arg может быть представлено в обычной кодировке литералов, поясняющая строка, возвращаемая what(), u8what_arg преобразуется из UTF-8 в обычную кодировку литералов; в противном случае вызов what() не является константным выражением.
2) what_arg должно быть представимо в UTF-8.
3) Конструктор копирования используется по умолчанию.
4) Конструктор перемещения используется по умолчанию.

std::meta::exception::what

constexpr const char* what() const noexcept override;

Возвращает поясняющую строку, переданную при создании объекта и, возможно, преобразованную из UTF-8 в обычную кодировку литералов.

std::meta::exception::u8what

consteval std::u8string_view u8what() const noexcept;

Возвращает поясняющую строку, переданную при создании объекта и, возможно, преобразованную из обычной кодировки литералов в UTF-8.

std::meta::exception::from

consteval std::meta::info from() const noexcept;

Возвращает значение std::meta::info, переданное при создании объекта.

std::meta::exception::where

consteval std::source_location where() const noexcept;

Возвращает значение std::source_location, переданное при создании объекта.

Пример

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

Spec-Zone.ru

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