Exceções

4 respostas
J

Sempre tive a seguinte duvida e gostaria da ajuda de vocês do forum. Quando devo lenvantar uma exceção ou testar e retornar um boleano como resposta.

Ex.:

public void metodo(){
   if (teste){
      throw new MinhaException();
   }
}

ou

public boolean medoto(){
   boolean v = false;
   if (teste){
      v = true;
   }
   return v;
}

Quando usar um teste simples (mais performatico) ou quando levantar uma exceção retirando os diversos if do codigo???

4 Respostas

malves_info

Vc quer sabe em que situação lançar uma exceção, ou lançar uma exceção sem utilizar o if?.

maquiavelbona

Cara, afirmar que é mais performático retornar um false do que lançar um exceção beira ao extremismo, que acaba não tendo fundamentação real.

Quando um resultado é esperado e a síntese do método é passível de uma cláusula booleana, costuma-se usar isso para melhor entendimento do programa. Exemplo? Um método Carro.isConversivel(). Ele é ou não é, não existe a possibilidade de um carro comum ser “meio conversível”.

Quando um método tem trabalho com valores que podem existir situações que sejam avessas a regra do negócio, costuma-se utilizar exceções. Exemplo? Carro.setPiloto(piloto) lança uma exceção CriancaMimadaNoVolanteException caso piloto.getIdade()<18 .

Eu coloquei o que se costuma dizer sobre uso de exceções, tem gente que adota outras regras. Procure a apostila do FJ-11 da Caelum, o capítulo sobre Exceções, te garanto que lá estará melhor explicado o que eu quis dizer aqui.

Até!

malves_info

maquiavelbona vc é professor??? Explica muito bem…

Isso ae mesmo JTN que nosso amigo explicou… E vc vai entender mais quando tiver um metodo que nele tem uma declaração para lançar uma Exceção
Ex.: public void cadFunc(String nome) throws NomeInvalidoException{};

Qualquer metodo que chamar o metodo cadFunc(); tera que lançar essa exceção ou passar adiante para outro metodo que chama-lo. :slight_smile:

CarlosEduardoDantas

penso que quando tu vai criar uma funcionalidade… funciona como uma caixa preta… existem um conjunto de opções para entrada que gerarão uma série de opções para saída … acho correto lançar exceções criadas por usuários apenas quando dentro da caixa preta existe a possibilidade de acontecer algo que não gere saída esperada… alias… que talvez até nao gere saida nenhuma…

agora caso o retorno seja esperado na saida, nao vejo porque ficar criando exceções.

Criado 9 de outubro de 2007
Ultima resposta 11 de out. de 2007
Respostas 4
Participantes 4