LINUX.ORG.RU

История изменений

Исправление bbk123, (текущая версия) :

Как раз проблема именно в этом. Какой-нибудь умник определяет интерфейс и декларирует, что некий метод getContent бросает FileNotFoundException. Тебе приходится делать реализацию этого метода, но у тебя нет никаких файлов, у тебя, например, есть работа с сетью. И там свои исключения, но никак не FileNotFoundException. И у тебя остается два варианта — любо бросать unchecke exception, либо мапить свои исключения в FileNotFoundException.

Классический пример неправильной архитектуры. Если интерфейс разрабатывался для работы лишь с файлами, то зачем пытаться использовать его для работы с нефайлами? А если нужно работать не только с файлами, то интерфейс должен декларировать не FileNotFoundException, а IOException.

Нормальные разработчики просто ставили throws Exception и не парились.

Вот как раз такое нормальный разработчик врядли напишет. Обычно так делают быдлокодеры.

Исходная версия bbk123, :

Как раз проблема именно в этом. Какой-нибудь умник определяет интерфейс и декларирует, что некий метод getContent бросает FileNotFoundException. Тебе приходится делать реализацию этого метода, но у тебя нет никаких файлов, у тебя, например, есть работа с сетью. И там свои исключения, но никак не FileNotFoundException. И у тебя остается два варианта — любо бросать unchecke exception, либо мапить свои исключения в FileNotFoundException.

Классический пример неправильной архитектуры. Если интерфейс разрабатывался для работы лишь с файлами, то зачем пытаться использовать его для работы с нефайлами? А если нужно работать не только с файлами, то интерфейс должен декларировать не FileNotFoundException, а IOException.