Levando em conta que estão faltando algumas chaves, e vc não usa a classe System para obter out, eu diria que o código não compila.
Se esses erros estiverem consertados, nenhuma excessão será capturada pois o try não engloba o código a ser testado, nem o finally será executado, pois a ArithmeticException vai ser lançada antes mesmo de se entrar no try.
Se o try englobasse o código, seria então capturada a AithmeticException, resultando em:
mate
finly
Até mais!
davidbuzatto
Quanto a precedência, cuidado pois o ++ e o – usam uma regra para serem acionados em uma expressão…
Se forem pré-fixados, eles serão executados antes da expressão, se forem pós-fixados (como no seu exemplo), eles serão executados após a execução da expressão.
F
fabioEM
desculpas tem razao se preguica matasse…nossa ja era
import staticjava.lang.System.*;publicclassTry{/** Creates a new instance of Try */publicTry(){}publicstaticvoidmain(String...a){inti=0;for(;true;i++){if((i/i++)>0){//primeiro faz a divisaobreak;}try{}catch(ArithmeticExceptione){out.println("mate");}catch(Exceptione){out.println("Exc");}finally{out.println("finly");}}}}
Pois é paulovittor23 ,mas no primeiro codigo nao tinha dado o import por preguica por isso depois acrescentei
paulovittor23
Eu imaginei que você tinha omitido… mas realmente não fica muito legível, eu vejo mais a utilização do import static com enums, mas mesmo assim eu não gosto muito de usar.
F
fabioEM
davidbuzatto:
Quanto a precedência, cuidado pois o ++ e o – usam uma regra para serem acionados em uma expressão…
Se forem pré-fixados, eles serão executados antes da expressão, se forem pós-fixados (como no seu exemplo), eles serão executados após a execução da expressão.
Cara mas justamente essa era minha duvida, como vc mesmo disse é pos fixado então deveria entrar em um loop infinito pq somaria i++ que é igual a um e divideria por zero que o resultado é zero nao é??
mas isso nao acontece ,primeiro faz a divisão:
para mim lança uma excecação dividir por 0 e se ele lança uma excecao, apos o for nada mais abaixo é executado… o i++ do for so é executado apos a instrução do for acontecer… entao eu marcaria lá lança uma exceção.