Как всегда, это зависит.
На мой взгляд, исключения должны быть исключительными.
Если вы обычно ожидаете, что что-то может не сработать, вам следует выполнить условные проверки. Код условной проверки выполняется постоянно, независимо от того, есть ли проблема, поэтому проверки не должны занимать много времени.
Вы должны оставить обработку исключений для редких или маловероятных обстоятельств. Итак, насколько вероятно, что файл не будет существовать?
У меня был случай, когда я хотел записать файл на сетевой диск, код для проверки наличия общего ресурса UNC может занять до 30 секунд, поэтому вы хотите использовать исключения здесь!