CPPPROGLIB Telegram 5977
🍿 Холивар: Exception Safety

🐊 Услышал вчера на собесе перл века:

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++?

🔥 Использую активно (элегантно!)
❤️ Избегаю (производительность)
⚡️ Только в STL контейнерах
🌚 Что такое exception safety?

Библиотека C/C++ разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
26🔥24🌚63



tgoop.com/cppproglib/5977
Create:
Last Update:

🍿 Холивар: Exception Safety

🐊 Услышал вчера на собесе перл века:

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++?

🔥 Использую активно (элегантно!)
❤️ Избегаю (производительность)
⚡️ Только в STL контейнерах
🌚 Что такое exception safety?

Библиотека C/C++ разработчика

BY Библиотека C/C++ разработчика | cpp, boost, qt




Share with your friend now:
tgoop.com/cppproglib/5977

View MORE
Open in Telegram


Telegram News

Date: |

But a Telegram statement also said: "Any requests related to political censorship or limiting human rights such as the rights to free speech or assembly are not and will not be considered." On June 7, Perekopsky met with Brazilian President Jair Bolsonaro, an avid user of the platform. According to the firm's VP, the main subject of the meeting was "freedom of expression." Telegram users themselves will be able to flag and report potentially false content. Polls Telegram Channels requirements & features
from us


Telegram Библиотека C/C++ разработчика | cpp, boost, qt
FROM American