Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

É comum lançar exeptions em todos os métodos sets?

Pelo meu entendimento todos os métodos sets devem garantir que os atributos da classe tenham dados consistentes, devo então fazer a validação de cada atributo em seu respectivo set e lançar execeções caso não passem nas validações? Alguns exemplos que tenho em mente.

  • Caso seja passado null vou lançar uma NullPointerException (devo fazer essa verificação em todos os métodos?)
  • Caso uma string não tenha o tamanho ideal lanço uma IllegalArgumentException
  • Caso uma String não siga um formato também lanço uma IllegalArgumentException

Se puderem me dar mais exemplos do dia a dia onde é mais comum lançar exceptions eu agreço :D Valeu galera.

2 respostas
solução!

Oi Luan, tudo bom?

Sua lógica tem bastante sentido. Você pegou bem a ideia de exception e controle de erro!

Entretanto, não é muito comum ver setters com essas 3 validações em especifico. Isso porque os frameworks mvc lidam com elas de uma forma mais elegante, com anotações. Algo como:

   @NotNull
    @Size(min=2, max=30)
    private String name;

De qualquer forma, vale a pena implementar com as exceptions no setter pra treinar =)

É dificil exemplos do dia-a-dia para lançamento de exceptions pois como o proprio nome diz, são exeções a alguma regra. E a regra varia muito de projeto pra projeto. Cada um vai ter suas particularidades.

Porém, pontos comuns que costumam ter tratamento de erro são onde temos contato com ferramentas externas ao software como APIs, bancos de dado, etc.

Abraço!

Valeu André :D