Мы используем файлы cookie
Мы используем файлы cookie для улучшения работы сайта и предоставления вам персонализированного опыта. Правила использования файлов cookie можно найти в нашей политике конфиденциальности
Двойное исключение (double exception) в C++ возникает, когда при обработке исключения (внутри блока catch
) возникает новое исключение до того, как обработка предыдущего завершена. Это приводит к вызову std::terminate
.
Примеры ситуаций:
Выброс нового исключения в блоке catch
:
cpp
Здесь в блоке catch
, который обрабатывает std::runtime_error
, выбрасывается новое исключение std::logic_error
.
Исключение во время очистки ресурсов в деструкторе в контексте обработки другого исключения:
cpp
Двойное исключение (double exception) в C++ возникает, когда при обработке исключения (внутри блока catch
) возникает новое исключение до того, как обработка предыдущего завершена. Это приводит к вызову std::terminate
.
Примеры ситуаций:
Выброс нового исключения в блоке catch
:
cpp
Здесь в блоке catch
, который обрабатывает std::runtime_error
, выбрасывается новое исключение std::logic_error
.
Исключение во время очистки ресурсов в деструкторе в контексте обработки другого исключения:
cpp
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.