Exceções em um sistema Java; como organizar?

Fala galera,
Eu estou criando um sistema de controle de vendas e estoque em java, para web, que irá realizar várias conexões com o banco e uma grande quantidade de validações. Sendo assim, me sugeriram o uso de exceções personalizadas, para tratar das validações entre classes, e padronizar mensagens.
Então minhas dúvidas são as seguintes:
Trata validações com exceções personalizadas é uma forma adequada de manter a qualidade do código?
Qual é a melhor forma de gerir as mensagens que serão exibidas aos usuários?

Exceções não servem para gerar mensagens ao usuário.
Exceções servem para situações onde determinado código não é capaz de lidar com alguma situação.

Em momento nenhum eu disse que exceções servem para gerar mensagens. Veja bem:

Acho que está tão óbvia minha colocação, que até as perguntas eu separei:

Mesmo assim, tentarei ser mais claro:

Tratar validações internas do sistema como: Tenho uma classe Vendas que no método “setQuantidadeVendida” ele já verifica se a quantidade informada não é maior do que a existente no estoque. Caso ele identifique que ela é maior, ele lançaria uma “QuantidadeSuperiorException”, por exemplo. Essa seria uma boa forma de trabalhar?

Em um sistema existem várias mensagens que são usadas muitas vezes, como: “Operação cancelada.” ou “Concluído com sucesso!”. Qual seria a melhor forma de guardar essas mensagens? Existe a possibilidade de criar no java uma classe apenas com constantes, ou uma biblioteca ou talvez um outro tipo de arquivo? Ou isso seria algo puramente metódico?

O ideal seria ter uma etapa de validação antes de invocar o setQuantidadeVendida, mas é interessante manter o lançamento da exceção no método, assim você garante uma classe com código estável. Se quem for usar uma instância daquela classe por ventura esquecer de validar o parâmetro, a classe é esperta o bastante para não aceitar um valor inválido.

1 curtida

Entendi.
Vou seguir nessa linha então.
Obrigado!

Para validação em java usa bean validation.

1 curtida