Вероятно, исключения - самая спорная функция С++. Многие команды включая Google не используют их. Разумеется, решение использовать их или нет, зависит от контекста - например, в некоторых играх может быть нормально сбой в памяти, но не в программном обеспечении для управления медицинским оборудованием. Помимо нехватки памяти некоторые команды могут использовать исключения для сбоя сети, не найденные файлы и т.д., Но другие могут сказать, что это слишком часто, чтобы быть вызванным исключением (другие могут сказать, но если это распространено, так что?)
Часто решение не использовать исключения основано на потенциально ошибочном аргументе, что трудно написать исключающий код. Некоторые люди говорят, что аргумент ошибочен, потому что использование альтернативы использования кодов ошибок приведет к по меньшей мере столь сложному коду. Дэвид Абрахамс разъясняет этот момент.
В этом вопросе мне интересно узнать:
- В каких случаях вы используете исключения?
- Каков контекст вашего приложения? Почему вы не можете жить без исключений?
- Как вам удается написать исключающий код код? Каков уровень инвестиций, который вы должны сделать?
- Есть/Стоит ли это?