Нет стандартного исключения, которое дает вам очень избирательный способ отловить условие ошибки «файл не найден».Так что, да, если вы хотите сигнализировать об этом условии с исключением, и вы хотите позволить клиентскому коду делать что-то значимое, вам нужно создать собственный класс для этого.
Однако есть и причинаэто исключение еще не существует, хотя на сегодняшний день оно является наиболее распространенным несчастным случаем.Это нормально, что файла нет, когда вы ожидаете, что он будет.Ваша программа не контролирует файловую систему.Или, может быть, пользователь неправильно ввел имя файла, что-то в этом роде.Не исключено, что это идет не так.Не используйте исключения для неисключительных случаев.
Это смешанное сообщение. Делайте используйте его, когда в коде клиента был разумный способ проверить, существует ли файл , и продолжение выполнения программы без этого ресурса маловероятно.