std::bad_exception
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
| Определено в заголовочном файле <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

