bom pessoal… fazendo o mock da caelum me deparei com essa questão:
[code] class Pai{
Pai retornaInstancia() {
return this;
}
}
class Filho extends Pai {
Filho retornaInstancia() throws MinhaExcecao {
return this;
}
}
class MinhaExcecao extends XXX {
} [/code]
la perguntava qual das palavras abaixo deveriam substituir o XX para o código compilar…
A - Error
B - IOException
C - IllegalArgumentException
D - Throwable
E - Exception
F - RuntimeException
a resposta correta são as alternativas A, C e F, na explicação da pergunta dizia que algumas exceções e erros não precisavam ser pegos (catch ou throws). RuntimeException e Error não precisam. IllegalArgumentException herda de RuntimeException.
eu não sabia disso, alguém saberia me dizer se existem mais outras que tem essa mesma caracteristica, além das filhas dessas, e me confirma se isso não cai no exame?