(RESPONDIDO) Existe possibilidade de erro na inclusão de valores em atributos?

Ola,

Bom, eu sei que precisamos validar os dados antes de armazená-los, porém, depois da validação, apenas no fato de armazenar o valor no atributo pode ocorrer algum problema? Tipo:


...
     public int idade;
...
     public setIdade(int idade){
          this.indade = idade;
     }
...

Ou seja:

1 - A simples inclusão de um valor em um atributo pode, mesmo com chances remotas, dar erro?
2 - Seria exagero sempre colocar o código em um try catch? Assim:


...
     public int idade;
...
     public setIdade(int idade){
          try{
               this.indade = idade;
          } catch (Exception e){         
                ...
          }
     }
...

[quote=NewScript]Ola,

Bom, eu sei que precisamos validar os dados antes de armazená-los, porém, depois da validação, apenas no fato de armazenar o valor no atributo pode ocorrer algum problema? Tipo:


...
     public int idade;
...
     public setIdade(int idade){
          this.indade = idade;
     }
...

Ou seja:

1 - A simples inclusão de um valor em um atributo pode, mesmo com chances remotas, dar erro?
2 - Seria exagero sempre colocar o código em um try catch? Assim:


...
     public int idade;
...
     public setIdade(int idade){
          try{
               this.indade = idade;
          } catch (Exception e){         
                ...
          }
     }
...

[/quote]

Amigo bom dia, seu exemplo esta errado…

this.idade

e não this.indade

sobre lançar exceção você deveria estudar antes como realizar verificação, mas certa vez eu li que mais frente a verificação não deva ser feita em classes modelo como essa…aonde se realiza o getter e setter, mas como você quer testar tudo bem para entender…

sua exceção não esta verificando nada…

Não, a simples atribuição não pode disparar erros.

Mas o setter é útil para você colocar as suas validações, e disparar as suas exceções, por exemplo:

public setIdade(int idade){ if (idade < 0) { throw new IllegalArgumentException("A idade não pode ser negativa!"); } this.idade = idade; }

Assim, você pode garantir que, dentro da classe, não existem atributos com valores malucos.

Obrigado a todos