Não compila, porque o compilador detecta que a linha 14 é “unreachable” já que a linha anterior é um “return 10;” sem condição nenhuma.
P
pardal_nb
o que seria unreachable ?
:oops:
G
gk-bgh
pardal_nb:
o que seria unreachable ?
:oops:
inalcançável
[]s
Gunnar
G
gk-bgh
ok…pra dificultar mais então…o que seria impresso se a linha 14 fosse comentada?
[]s
Gunnar
P
pardal_nb
everson_z:
Resposta 1
Ops, lembrei que é esperado um int… rs, não compila!!!
e ele retorna um int…
G
gk-bgh
vou esperar mais um pouco pra ver o que o pessoal responde…
[]s
Gunnar
P
pardal_nb
e catch lança a exceção uai…rs
não entendi o q vc quis dizer com isso…
LPJava
nao compila ja que a linha 14 jamais vai ser executada e o compilador nao vai permitir que algo que nunca aconteça seja compilado hehe
anderson.bonavides
Bem na minha resposta seria o famoso Entra primeiro no try{…} e já que não lança nenhuma exeção ele passa pro bloco finally.
Minha resposta está muito obvia portanto sei que o return está complicando tudo… heheh
Então manda logo ai a pegadinha da questão…
=]
P
paulohrl
Se a linha com o return fosse comentada ele não compila pois não tem o return.
//editado
e se não fosse comentada não compila por causa do unreachable.
Se comentar a linha 14 imprime entrei e retorna o 10.
G
gk-bgh
Bom
Não compila por causa que a linha 14 causa um unreachable, ou seja, o System.out.println(“Sai”); NUNCA seria executado.
Comentando essa linha também não compila porque é necessário que SEMPRE seja retornado um valor…e o return 10; dentro do try não satisfaz essa condição, já que dentro do catch não retorna nada e não há garantias para o compilador que o return 10; seja executado. Existem várias soluções
colocar return 10; fora do bloco try/catch/finally
lançar um erro como foi proposto anteriormente throw new Error(); Lançar uma Exception() não é possível porque o método precisa declarar que lança uma exceção.
Caso esses problemas fossem resolvidos o programa iria imprimir “Entrei”, encontraria o return 10; , executaria o finally e então imprimiria na tela “finally” e retornaria 10 ao método que chamou.
[]s
Gunnar
everson_z
Resposta 3
Acho que essa é muito facil… ?
everson_z
Resposta 1
Ops, lembrei que é esperado um int… rs, não compila!!!
everson_z
pardal_nb:
everson_z:
Resposta 1
Ops, lembrei que é esperado um int… rs, não compila!!!
e ele retorna um int…
É verdade :oops:
Mesmo assim não compila!!! rs
A única maneira de deixar o return dentro do try é se o catch lançar um erro