std::make_exception_ptr
Объявлено в заголовочном файле <exception> | ||
|---|---|---|
template< class E > std::exception_ptr make_exception_ptr( E e ) noexcept; |
(начиная с C++11) (constexpr начиная с C++26) |
Создаёт std::exception_ptr, содержащий ссылку на копию e. Это выполняется так, как если бы был исполнен следующий код:
try
{
throw e;
}
catch(...)
{
return std::current_exception();
}
Параметры
| e | - | объект исключения, на копию которого нужно создать ссылку |
Возвращаемое значение
Экземпляр std::exception_ptr, содержащий ссылку на копию e, или экземпляр std::bad_alloc, или экземпляр std::bad_exception (см. std::current_exception).
Примечания
Параметр передаётся по значению и подвержен срезке.
| Макрос проверки поддержки возможностей | Значение | Стандарт | Возможность |
|---|---|---|---|
__cpp_lib_constexpr_exceptions | 202411L | (C++26) | constexpr для типов исключений |
Пример
См. также
|
(C++11) | сохраняет текущее исключение в std::exception_ptr (функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/error/make_exception_ptr