У нас есть многомодульный проект Maven, в котором каждый модуль имеет свое собственное исключение. Например, tree-service-module будет иметь TreeServiceException, user-service-module будет иметь UserServiceException, а login-service-module будет LoginServiceException.
Каждый из этих трех модулей имеет основной класс Service: TreeService, UserService и LoginService. Каждый метод в TreeService выбрасывает TreeServiceException, каждый метод в UserService выбрасывает UserServiceException, а каждый метод в LoginService выдает LoginServiceException. Мы обрабатываем эти исключения, регистрируя их и выбрасывая их в иерархию вызовов.
Это хороший дизайн? На первый взгляд, мне кажется, что эти исключения бесполезны. Вместо этого они производят ненужный код. Кроме того, они заменяют полезные исключения, которые будут игнорироваться в пользу этих бесполезных исключений. Это стандартная практика, когда метод генерирует не более одного исключения, и в этом случае мы заполняем этот слот исключением, которое бесполезно. Наконец, я не уверен, полезно ли, чтобы каждый метод в классе соответствовал выбрасыванию одного и того же исключения.
Что ты думаешь?