Какие типы исключений следует объявлять в методах основного интерфейса и каковы принципы их решения? Мы могли бы направить/перевыбросить все принудительные исключения из приложения в основной интерфейс, а не перегруппировать и повторно выбросить их в исключение общего типа? Это кажется неправильным, поскольку мы должны только заставлять пользователя перехватывать исключения, которые что-то значат, например: SomethingNotFoundException - скажем, различать значение NULL и отсутствующее значение. Тогда правильно ли повторно создавать/преобразовывать принудительные исключения, такие как IOException, в RuntimeExceptions и ожидать, что пользователь интерфейса перехватит все RuntimeExceptions.
Подробнее здесь: https://stackoverflow.com/questions/797 ... -interface