Sobes.tech
Назад к задачам
Junior — Senior
134

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

Условие задачи

livecode

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

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

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