interface SampleCloseable {
void close() throws java.io.IOException;
}
class Teste implements SampleCloseable {
public void close() throws NullPointerException {}
}
Olá pessoal.
Gostaria de saber porque o código acima compila?
Vi que ao implementar uma interface e algum de seus métodos lança uma exception, a implementação deve lançar a mesma exceção ou uma mais específica (uma filha (subclasse) daquela exceção).
No código acima, a implementação do método close()
está lançando um NullPointerException, que não é um filho de IOException.
Por que o código compila?