Exceptions no encapsulamento

6 respostas
henry.everton

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:

public abstract class Professor{

	private String Nome;
	private String disciplina;
	private int idade;
	private double salario;
	
	public String getNome(){
		return(this.nome);
		}
	public void setNome(String nome){
		this.nome = nome;
		}
	}

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 :?:

Ex:
public abstract class Professor{

	private String Nome;
	private String disciplina;
	private int idade;
	private double salario;
	
	try{ // assim?
	public String getNome(){
		return(this.nome);
		}
	public void setNome(String nome){
		this.nome = nome;
		}
	}

6 Respostas

Marky.Vasconcelos

Você quer tratar oque?

E o projeto? desistiu?

henry.everton

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
class IdadeInvalidaException extends Exception{
   public IdadeInvalidaException(String msg) { super(msg); }
}

public class Aluno{
   private int idade;
   public void setIdade(int idade) throws IdadeInvalidaException{
      if(idade <0) throw new IdadeInvalidaException("Caramba... a idade tem que ser positiva ou zero, seu animal!");
      this.idade = idade;
   }
   public int getIdade(){ return this.idade; }
   
   public static void main(String [] args){
      Aluno a = new Aluno();
      try {  
         a.setIdade(-29);
      } catch(IdadeInvalidaException e){
         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…

Criado 12 de março de 2008
Ultima resposta 13 de mar. de 2008
Respostas 6
Participantes 4