История изменений
Исправление
bbk123,
(текущая версия)
:
Как раз проблема именно в этом. Какой-нибудь умник определяет интерфейс и декларирует, что некий метод getContent бросает FileNotFoundException. Тебе приходится делать реализацию этого метода, но у тебя нет никаких файлов, у тебя, например, есть работа с сетью. И там свои исключения, но никак не FileNotFoundException. И у тебя остается два варианта — любо бросать unchecke exception, либо мапить свои исключения в FileNotFoundException.
Классический пример неправильной архитектуры. Если интерфейс разрабатывался для работы лишь с файлами, то зачем пытаться использовать его для работы с нефайлами? А если нужно работать не только с файлами, то интерфейс должен декларировать не FileNotFoundException, а IOException.
Нормальные разработчики просто ставили throws Exception и не парились.
Вот как раз такое нормальный разработчик врядли напишет. Обычно так делают быдлокодеры.
Исходная версия
bbk123,
:
Как раз проблема именно в этом. Какой-нибудь умник определяет интерфейс и декларирует, что некий метод getContent бросает FileNotFoundException. Тебе приходится делать реализацию этого метода, но у тебя нет никаких файлов, у тебя, например, есть работа с сетью. И там свои исключения, но никак не FileNotFoundException. И у тебя остается два варианта — любо бросать unchecke exception, либо мапить свои исключения в FileNotFoundException.
Классический пример неправильной архитектуры. Если интерфейс разрабатывался для работы лишь с файлами, то зачем пытаться использовать его для работы с нефайлами? А если нужно работать не только с файлами, то интерфейс должен декларировать не FileNotFoundException, а IOException.