Чтобы предотвратить появление необработанных исключений в программном коде, можно предпринять следующие шаги:
- Описать возможные исключения в документации. 1 Это поможет не пропустить необходимый обработчик из-за случайной ошибки или несоответствия документации коду. 1
- Использовать механизм проверяемых исключений. 1 В описании функции или метода класса нужно явно перечислить все типы исключений, которые она может сгенерировать. 1 Компилятор будет проверять наличие обработчика для каждого из этих исключений. 1
- Продумать набор выбрасываемых методом исключений. 1 Рекомендуется изначально объявлять именно те исключения, которые придётся обрабатывать вызывающему коду. 1
- Использовать ключевое слово noexcept. 2 Оно указывает, что функция никогда не будет генерировать исключения. 2 Если встретить функцию с таким ключевым словом, можно ожидать, что она не вызовет исключения, и нет необходимости помещать её вызов в конструкцию try-catch. 2
- Обеспечить безопасность исключений при управлении ресурсами. 3 Для этого нужно использовать интеллектуальные указатели или другие оболочки типа RAII для управления всеми ресурсами. 3
Выбор метода зависит от конкретных условий разработки программного кода.