Гарантии безопасности исключений:
Базовая гарантия (basic guarantee): После возникновения исключения программа остается в валидном, но не определенном состоянии. Нет утечек ресурсов, но значения объектов могут быть непредсказуемыми.
Строгая гарантия (strong guarantee): Если операция завершилась исключением, состояние программы остается неизменным, как если бы операция не начиналась.
Гарантия отсутствия исключений (no-throw guarantee): Функция гарантирует, что она никогда не бросит исключение. Это можно явно указать с помощью noexcept.
cpp
Эти гарантии важны для написания надежного кода, который корректно обрабатывает ошибки и исключительные ситуации.