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

3 respostas
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){         
                ...
          }
     }
...

3 Respostas

M

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){         
                ...
          }
     }
...

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…

ViniGodoy

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.

NewScript

Obrigado a todos

Criado 15 de abril de 2013
Ultima resposta 15 de abr. de 2013
Respostas 3
Participantes 3