Namespaces
Variants

std::meta::exception

Из ru.cppreference.net
< cpp | meta
 
 
 
Библиотека отражения
Запросы доступности членов
Идентификация области видимости
Запросы членов отражения
Отражение аннотаций
Извлечение значений
Подстановка отражения
Отражение результата выражения
Генерация определения класса

Основные категории типов
Составные категории типов
Свойства типов ➜
Отношения типов
 
Типы и запросы отражения
Запросы отражения
Запросы компоновки отражения
Свойства типов
Запросы свойств типов
 
Определён в заголовке <meta>
class exception : public std::exception
(начиная с C++26)

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

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

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

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

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 exception. Инициализирует хранимые значения соответствующими параметрами.

1) Если пояснительная строка может быть представлена в обычной кодировке литералов, пояснительная строка, возвращаемая u8what_argwhatwhat(), перекодируется из UTF-8 в обычную кодировку литералов; в противном случае вызов u8what_argwhatwhat() не является константным выражением.
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, переданное при конструировании.

Пример