Hierarquia de Exceções

5 respostas
cu_ringa

estava lendo sobre exceções e ai veio uma coisa q me deixou meio sem entender OO.

tava lendo a arvore de erança de exceções e vi o seguinte:

Throwable
         
        Error                Exception

                   RuntimeException

RuntimeException é uma subclasse de Exception. Ou seja se ela herda seu compartamento de Exception, tudo q Exception fizer ela faz. O problema veio na hora em q Exception e seus subtipos são exceções verificadas, menos RuntimeException. Mas ai vem minha pergunta: Se RuntimeException é uma Exception pelo conselho de herança num era p ela ser verificada tbm? Para ficar de uma maneira correta era p RuntimeException herdar direto de Throwable, ai ela só herdava o compartamento de Throwable e deixava de ser verificada (mesmo sabendo pela api q n é).

5 Respostas

D

Runtime não seria aquela exceção que ocorre em tempo de execução? Se eu estiver correto, acho que é por isso que ela não é verificada!

sapulha

davidhc, existe alguma Exception que não seja em tempo de execução?
Dado que se um código estiver escrito errado (em termos de sintaxe) ele nem compila, toda Exception só será lançada em tempo de execução.

A RuntimeException não é verificada por ser uma exceção que é geralmente lançada pela JVM. Ela acontece em casos especiais em que não se tem muito bem como prever na sua aplicação, por isso ela não é verificada.

Se fosse uma exceção verificada, teríamos que colocar todos os códigos dentro de try/catch, pois uma RuntimeException pode ser lançada a qualquer hora.

D

Era isso que eu quis dizer…ela não tem como ser prevista…me expressei mto mal colocando que ‘é lançada em tempo de execução’ rsrs :smiley:

Agora fui rever o que eu tinha escrito e vi que tava um pouco confuso! hehe

sapulha

Hehehe, pois é, mais agora está tudo esclarecido.

Exceções e Threads são dois pontos que geram bastante polêmicas.

LPJava

eu ja tneho tres dias tentando entender esse paradigma de execeções nem a kathy nem o deitel explicam muito bem isso… mais assim o RuntimeException como ela nao verificada seria erros de memoria? de acessar algo fora do array?

Criado 7 de dezembro de 2006
Ultima resposta 8 de dez. de 2006
Respostas 5
Participantes 4