Что такое exception safety guarantee?
Exception safety guarantee — это гарантия, которую предоставляет код при возникновении исключительной ситуации (exception). Это означает, что код должен обрабатывать исключения таким образом, чтобы предотвратить утечку ресурсов и поддерживать объекты в согласованном состоянии.
Существует три уровня
exception safety guarantee:- basic: Гарантирует, что нет утечек ресурсов, но в случае исключения никаких дополнительных гарантий не предоставляется, и объекты могут быть изменены или оставлены в неполноценном состоянии.- strong: Гарантирует, что нет утечек ресурсов и объекты остаются в исходном состоянии, если исключение возникает. Если операция не может быть выполнена, объекты не изменяются.- no-throw: Гарантирует, что операция не вызывает исключений. Это самый высокий уровень гарантии безопасности исключений.Разработчики должны обеспечивать соответствующий уровень
exception safety для своих классов и функций, чтобы гарантировать правильное и безопасное поведение при обработке исключений.