🤔 Что известно про вызовы throw exception в конструкторах и деструкторах?
- В конструкторе: если выброшено исключение, объект считается несозданным, вызываются деструкторы уже созданных членов класса, после чего исключение передается дальше.
- В деструкторе: выбрасывать исключения небезопасно, так как это может вызвать std::terminate(), если исключение не обработано (throw в ~Destructor() недопустимо).
- Если необходимо обработать ошибку в деструкторе, лучше использовать логирование или явный вызов try-catch.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу знаний
Post #2022
714
- 💊 2
- 👍 1