Estou fazendo um exercicio de encapsulamento aqui e me surgiu uma dúvida....Quero tratar os erros com exception e desta vez eu acho que o pessoal vai conseguir responder pra mim.... é o seguinte.. o código é esse:
Se eu for fazer um tratamento das exceções como eu criaria no encapsulamento :?:
é feito desta forma ou não é feito no encapsulamento e sim na classe que instanciar :?:
Nao nao… lógico que nao…
eu to aqui quebrando minha cabeça… estou pensando como é feita esse diaxo de exceptions em encapsulamento… essa dúvida me surgiu agora do nada e decidi perguntar…
O esquema do projeto… tem gente pra caraca ja envolvida… só que ninguem manda e-mail cara…
Eu nunca criei um projeto… eu acho que seria legal termos um modelo de inicio para o projeto… digo documentação hein… papel primeiro depois mao na massa!!!
peczenyj
Que tipo de exceções vc quer tratar?
Normalmente quem trata as exceptions é quem chama. Se por acaso o seu método getNome pudesse lançar uma exception, vc trataria assim
try {
nome = objeto.getNome();
} catch(AlgumaException e){
...
}
Agora basta que o tipo de exceção seja definido, isto é, o método getNome vai lançar uma exception própria? Algo como NomeNaoEncontrado ?
henry.everton
simsim… eu criaria esta exceptions … sei la coisa do tipo
new throws e lançava a exceptions… mas isso eu faria com um simples if certo?
peczenyj
classIdadeInvalidaExceptionextendsException{publicIdadeInvalidaException(Stringmsg){super(msg);}}publicclassAluno{privateintidade;publicvoidsetIdade(intidade)throwsIdadeInvalidaException{if(idade<0)thrownewIdadeInvalidaException("Caramba... a idade tem que ser positiva ou zero, seu animal!");this.idade=idade;}publicintgetIdade(){returnthis.idade;}publicstaticvoidmain(String[]args){Alunoa=newAluno();try{a.setIdade(-29);}catch(IdadeInvalidaExceptione){System.out.println("nao eh possivel setar a idade: "+e.getMessage());}}}
LPJava
a questao é que vc nao usar o . para um objeto com o valor null… a exceção nao verificada ocorre… isso é uma regra!
Vc deve enviar criar variaveis que referenciem para null…