| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/11/2008 22:12:48
|
diegobrandao
Debugger
Membro desde: 26/05/2008 10:16:05
Mensagens: 52
Localização: Curitiba - PR
Offline
|
Boa noite,
Peguei essa questão no Whizlabs.
Não consegui entender porque isto compila, uma vez que Error é superclasse de AssertionError.
Neste exemplo não compila, uma vez que Exception é superclasse de IOException.
Alguém poderia explicar o que acontece no caso do Error?
Desde já agradeço.
|
Diego Alves Brandão
Bacharel em Sistemas de Informação
Sun Certified Java Programmer 5.0
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/11/2008 07:04:45
|
rodrigo.ferreira
JavaGuru
![[Avatar]](/images/avatar/0d55e009fa8e9e8ec97aa091dfaa28e0.jpg)
Membro desde: 28/08/2008 20:38:07
Mensagens: 200
Offline
|
E aí Diego, blz ?
A explicação é muito simples:
Lembre-se:
Todas as exceptions derivadas de RuntimeException e ERROR, NÃO PRECISAM SER DECLARADAS, E O COMPILADOR NÃO SE IMPORTARÁ SE ASSIM VOCÊ O FIZER E NÃO SEGUIRÁ AS REGRAS DAS EXCEPTIONS CHECKED.
Pela explicação acima é que o código de cima COMPILA (por que usa ERROR) e o de baixo NÃO COMPILA (IOException e Exception NÃO SÃO DERIVADAS DE RUNTIMEEXCEPTION).
Espero ter ajudado !!
Abraço,
Rodrigo Lopes.
|
Rodrigo Lopes Ferreira
Sun Certified Enterprise Architect for the Java Platform, Enterprise Edition 5
Sun Certified Business Component Developer for the Java Platform, Enterprise Edition 5
Sun Certified Web Component Developer for the Java Platform, Enterprise Edition 5
Sun Certified Programmer for the Java 2 Platform, Standard Edition 5
Tecnólogo em Informática com Ênfase em Gestão de Negócios - FATEC - Mococa - SP
Pós Graduando em Desenvolvimento de Sistemas em Software Livre - Universidade Católica de Brasília |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/11/2008 09:35:10
|
Jeferson_Manetti
JavaTeenager
![[Avatar]](/images/avatar/22242fffb164c888879c3513a550427b.jpeg)
Membro desde: 16/07/2008 15:28:29
Mensagens: 191
Offline
|
iaew blz...
primeira coisa essa questão não e sobre assertion.... mas sim sobre sobrescrita de metodo ^^
agora repare bem:
vc NUNCA pode declarar uma exceção mais abrangente no metodo sobrescrito!!!
então vamos lah...
no 1º caso essa regra não vale, pois AssertionError e ERROR e uma exceção NÃO VERIFICADA e o compilador não liga XD
agora no 2º caso IOException e Exception e uma execçaõ verificada... portanto dara erro na sobrecrita do metodo segundo regra acima XD
certinhu ^^^
espero ter ajudado... fui...
|
SCJP 6
SCWCD 5 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/11/2008 11:56:32
|
diegobrandao
Debugger
Membro desde: 26/05/2008 10:16:05
Mensagens: 52
Localização: Curitiba - PR
Offline
|
Ficou bem claro agora...
Obrigado...
|
Diego Alves Brandão
Bacharel em Sistemas de Informação
Sun Certified Java Programmer 5.0
|
|
|
 |
|
|