Полностью гарантировать отсутствие исключений на C/C++ сложно, но можно минимизировать их вероятность и обеспечить надежную обработку:
Использовать ограниченное подмножество языка:
new
при нехватке памяти, если не настроен new_handler
).nullptr
для указателей, std::optional
).bool process(..., ErrorStatus& status)
).Статический анализ кода:
Аккуратное управление ресурсами (RAII):
std::unique_ptr
, std::shared_ptr
) для автоматического освобождения памяти.c
Полностью гарантировать отсутствие исключений на C/C++ сложно, но можно минимизировать их вероятность и обеспечить надежную обработку:
Использовать ограниченное подмножество языка:
new
при нехватке памяти, если не настроен new_handler
).nullptr
для указателей, std::optional
).bool process(..., ErrorStatus& status)
).Статический анализ кода:
Аккуратное управление ресурсами (RAII):
std::unique_ptr
, std::shared_ptr
) для автоматического освобождения памяти.c
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.