Назад к задачам
Junior — Senior
9

std::terminate вызывается при исключении в деструкторе

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

При каких условиях выполнение кода внутри блока try приводит к автоматическому вызову std::terminate?

void test_destructor()
{
    struct B {
        ~B() noexcept(false) {
            throw 1;
        }
    };

    try {
        B obj;
        throw 2; // рассматриваемый случай
    } catch (...) {
    }
}