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.
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.