Обработка исключений - это проблема приложения.Если вас интересует (а) исключение или (б) конкретное исключение, вы используете try / catches.
Поскольку обработка исключений на много порядков медленнее, чем проверка if, и вы знаете файлможет отсутствовать, тогда вы можете либо снизить производительность, либо написать свой код, как у вас.Это просто ваш выбор, когда вы берете удар по производительности в тех случаях, когда файла нет.
Есть люди, которые говорят, что вы должны поймать исключение, только если вы можете что-то с этим сделать, и в основном они есть.правильно, однако, есть определенное место, где я всегда использую обработку исключений.
- При возврате через границу обслуживания.Иногда это связано с безопасностью (скрывая детали реализации), хотя в основном для улучшения диагностики во время выполнения
- При выполнении вызова через границу службы.Обычно это связано с надежностью, хотя, опять же, больше для устранения неполадок.
При использовании обработки исключений для диагностики я, по сути, просто регистрирую исключение и поднимаю его обратно.