Método de comparação que lança exceção

2 respostas
Operador_Nabla

Tenho uma classe X que implementa a interface Comparable<X>. No entanto, segundo a lógica da minha aplicação, uma comparação entre objetos X só faz sentido se determinadas condições forem satisfeitas e, sendo assim, gostaria que meu método de comparação lançasse uma exceção caso as condições necessárias para a comparação não forem satisfeitas.

O problema é que eu não consigo colocar uma cláusula throw new MinhaExcecao() na minha implementação de compareTo(), pois, para isso, meu método compareTo() deveria receber um throws MinhaExcecao em sua assinatura, o que não está previsto na interface (pelo menos, é o que o Eclipse me diz).

Enquanto não encontro solução melhor, eu me viro fazendo com que o meu método lance uma ClassCastException (que está prevista na interface).

O que eu posso fazer neste caso?

2 Respostas

Rafael_Steil

Herde de java.lang.RuntimeException ao inves de java.lang.Exception

Rafael

Operador_Nabla

No The Java Tutorial, está escrito que eu só devo lançar RuntimeExceptions na minha aplicação em situações especiais.

Acho que essa é uma situação especial… :smiley: Valeu!

Criado 28 de maio de 2005
Ultima resposta 31 de mai. de 2005
Respostas 2
Participantes 2