std::bad_exception
Материал из cppreference.com
Определено в заголовочном файле <exception>
|
||
class bad_exception; |
||
std::bad_exception
это тип исключения, генерируемого средой выполнения C++ в следующих ситуациях:
|
(начиная с C++11) |
|
(до C++17) |
Диаграмма наследования
Содержание |
[править] Функции-элементы
создаёт объект bad_exception (public функция-элемент) | |
копирует объект (public функция-элемент) | |
[virtual] |
возвращает пояснительную строку (virtual public функция-элемент) |
Унаследован от std::exception
Функции-элементы
[virtual] |
уничтожает объект исключения (virtual public of std::exception функция-элемент)
|
[virtual] |
возвращает поясняющую строку (virtual public of std::exception функция-элемент)
|
[править] Пример
Компилируется только в режиме C++14 (или более ранней версии).
Запустить этот код
#include <iostream> #include <exception> #include <stdexcept> void my_unexp() { throw; } // Спецификации динамических исключений устарели в C++11 void test() throw(std::bad_exception) { throw std::runtime_error("тест"); } int main() { // Устарело в C++11, удалено в C++17 std::set_unexpected(my_unexp); try { test(); } catch(const std::bad_exception& e) { std::cerr << "Поймано " << e.what() << '\n'; } }
Возможный вывод:
Поймано std::bad_exception