método substituído não gera exceção
Eu tenho um problema ao compilar meu código, estou tentando fazer com que um método de uma classe lance uma exceção personalizada, dadas algumas condições. Mas, no momento da compilação, recebo a mensagem:
O método substituído não gera exceção
Aqui está a declaração de classe e exceção:
public class UNGraph implements Graph
Graph
é uma interface com todos os métodos deUNGraph
nele (o métodogetId()
não tem othrows
declaração nesse script)
Após o construtor, crio a exceção (dentro da classe UNGraph):
public class NoSuchElementException extends Exception {
public NoSuchElementException(String message){
super(message);
}
}
Aqui está o método com a exceção
public int getId(....) throws NoSuchElementException {
if (condition is met) {
//Do method
return variable;
}
else{
throw new NoSuchElementException (message);
}
}
Obviamente, não quero que o método gere uma exceção todas as vezes, apenas quando a condição não for atendida; e quando for atendido, quero retornar uma variável.