std::bad_exception
Материал из cppreference.com
![]() |
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google.
Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке. Щёлкните здесь, чтобы увидеть английскую версию этой страницы |
Defined in header <exception>
|
||
class bad_exception; |
||
std::bad_exception
это тип исключение в C + + выполнения в следующих ситуациях:Оригинал:
std::bad_exception
is the type of the exception thrown by the C++ runtime in the following situations:Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
1)
Если динамическая спецификация исключений нарушается и std::unexpected бросает или rethrows исключением того, что по-прежнему нарушает спецификацию исключений, но исключения спецификация позволяет
std::bad_exception
, std::bad_exception
выбрасывается.Оригинал:
If a динамическая спецификация исключений is violated and std::unexpected throws or rethrows an exception that still violates the exception specification, but the exception specification allows
std::bad_exception
, std::bad_exception
is thrown.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
2)
Если std::exception_ptr хранит копию поймал исключение, и если конструктор копирования объекта исключения поймал current_exception генерирует исключение, захваченных исключение является экземпляром
std::bad_exception
.Оригинал:
If std::exception_ptr stores a copy of the caught exception and if the copy constructor of the exception object caught by current_exception throws an exception, the captured exception is an instance of
std::bad_exception
.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Содержание |
[править] Функции-члены
строит bad_exception объектаОригинал: constructs the bad_exception objectТекст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-член) | |
копии объекта Оригинал: copies the object Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-член) | |
[virtual] |
возвращает пояснительной строкой Оригинал: returns the explanatory string Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (virtual public функция-член) |
Унаследован от std::exception
Member functions
[virtual] |
уничтожает объект исключения (virtual public std::exception функция-член)
|
[virtual] |
возвращает строку-пояснение (virtual public std::exception функция-член)
|
[править] Пример
Запустить этот код
#include <iostream> #include <exception> #include <stdexcept> void my_unexp() { throw; } void test() throw(std::bad_exception) { throw std::runtime_error("test"); } int main() { std::set_unexpected(my_unexp); try { test(); } catch(const std::bad_exception& e) { std::cerr << "Caught " << e.what() << '\n'; } }
Вывод:
Caught std::bad_exception