Здравствуйте, yenik, Вы писали:
S>>>Как предпочитает делать большинство? V>>Большинство предпочитает соблюдать гайдлайны: если это ожидаемая ошибка (например, пользовательский ввод) — не использовать исключения, а проверять явно и возвращать код возврата (или как-то ещё сообщать о неудаче). V>>Если не ожидаемая — кидать исключение и ловить его где-то в точке возможного восстановления. Или даже не ловить вообще, зависит от приложения.
Y>Ответ слишком сферичен в вакууме. Ожидаемая/неожидаемая — это не всегда бинарное состояние. Что если ожидаемая, но очень редкая?
А вот для ответов на такие вопросы и есть системный архитектор или главный программист, который и должен решать, что как для данного конкретного проекта.
Потому, что без знания специфики проекта это всегда будет сферический ответ в вакууме.
Где-то и на ошибки пользователя можно кидать исключения (например, если полноценная проверка была в предыдущем слое приложения).
А где-то и отсутствующий файл конфигурации или деление на ноль приравнивается к ожидаемой ошибке (если, например, это высокоустойчивая система, которая должена работать любой ценой, даже с риском неправильной работы).