segue a regra do livro:

li, reli e nao entendi 
alguem poderia me dar uma luz?
abraço!
segue a regra do livro:

li, reli e nao entendi 
alguem poderia me dar uma luz?
abraço!
Suponha que você tenha a seguinte interface:
public interface ServiceProvider{
Service lookupService(String name) throws ServiceException;
}
O método lookupService declara que lança uma ServiceException. Quando uma classe implementar esse método, a implementação não é obrigada a lançar uma ServiceException. Ela pode simplesmente não declarar exceções ou declarar exceções que sejam um sub-tipo de ServiceException, por exemplo:
public interface WebServiceProvider implements ServiceProvider{
@Override
Service lookupService(String name) throws WebServiceNotFoundException;
}
class WebServiceNotFoundException extends ServiceException{}
o que não pode acontecer é uma implementação lançar exceções mais abrangentes do que as exceções declaradas na interface ou superclasse.
O que ele quer dizer é que, por exemplo
public class A{
public void metodo() throws Exception{
//faz algo
}
}
E na subclasse
public class B extends A{
@Override
public void metodo() throws ParseException{
//faz outro algo
}
}
Ou seja, você pode alterar a abrangência para os tipos de Exception lançadas nos métodos sobrescritos das subclasses.