Tem q ser na decoreba mesmo, ou tem alguma maneira de identificar quais exceptions são lançadas pela JVM ou programaticamente?
pq decoreba? se você parar para pensar elas fazem sentido…
Algumas óbvias sim, como StackOverflowError que é lançada pela JVM, mas ClassCastException por exemplo, que também é lançada pela JVM mas parece que é Programaticamente (que quer dizer, criada por um aplicaivo, ou por um desenvolvedor da API), afinal foi vc que fez a conversão!
Pra algumas pessoas pode ser fácil identificar, mas eu as vezes fico muito em dúvida na hora de identificar quem está lançando determinadas exceções.
A grande questão é… pra que você quer identificar?
Bom, todas derivadas de Error tem altas chances de ser geradas pela VM (StackOverflowError, OutOfMemoryError, etc).
As RuntimeExceptions tem altas chances de serem erros de programação (NumberFormatException, ArithmeticException, etc).
Ou de serem exceções criadas pelo programador da API, mas que seriam muito difíceis de se tratar.
As exceções obrigatórias, geralmente, são feitas por programadores de APIs (SQLException, IOException, NoSuchAlgorithmException).
Na prática, pouco importa o porque a exceção tenha sido gerada. É mais importante saber que ela pode ocorrer e quando, em que camada você deve trata-la, e quanto log deverá ser destinado a ela.
Ela quer saber como decorar pra poder fazer a prova da certificação.
É ViniGodoy vc pisou na Bola.
Mas infelizmente é só memorizando mesmo mas depois da prava basta saber que elas existem, e que tem lançamento JVM e via programação e o que elas querem dizer.
Fora prova decoreba !!
Verdade, não tinha reparado que o tópico está no fórum de certificações.
Bom, mais uma para o capítulo de coisas completamente inúteis que as certificações nos obrigam a saber.