Exceções em java

Dúvidas sobre arquitetura e exceções:
ex:
Tenho uma camada DAO que é acessada por uma camada de modelo que por sua vez é acessada pelo serviço que finalmente é acessada por um bean jsf.

Vou falar a solução adotada e gostaria de saber se tá tudo errado ou melhorias.

Meu DAO lança por exemplo um NonUniqueResultException, o model cria uma nova exceção personalizada(MaisDeUmRegistroEncontradoException) que é relançada até a camada de interface.

Como a minha camada de modelo é totalmente baseada em interface, ou seja se algum novo cliente não quer este tratamento especifico bastaria fazer a implementação desejada com ou sem esta exception ou com uma nova outra exception, isto está correto ou pode ser melhorado?

Grato pessoal!

Se pretende melhorar a exceção para a camada de “negócio”, está certo.

Mas é assim, implemente o message para retornar o erro precisamente para ajudar o usuário em caso de erro. Com a classe você ajuda o programador, com a mensagem bem descrita, ajuda o usuário.

wiliamps