tgoop.com/cppproglib/5977
Create:
Last Update:
Last Update:
Exception safety в C++ не нужна, мы просто не используем исключения
И вот тут я понял, что индустрия раскололась на два лагеря:
Лагерь No Exceptions: Google Style Guide, игровая индустрия, embedded. Их мантра: «Исключения = непредсказуемая производительность»
Лагерь RAII + Exceptions: Стандартная библиотека, большинство enterprise проектов. «Исключения - это элегантная обработка ошибок»
// Версия без исключений
std::optional<Data> parse(const std::string& input) {
if (input.empty()) return {};
// ...
}
// Версия с исключениями
Data parse(const std::string& input) {
if (input.empty()) throw std::invalid_argument("empty input");
// ...
}
Реальность:
90% C++ кода уже содержит исключения через STL. Даже new может бросить std::bad_alloc! 😱
Провокация:
Если ты пишешь код без exception safety, ты пишешь потенциально багованный код. Точка.
Библиотека C/C++ разработчика

