Questao facil: try-catch-finally

5 respostas
F

qual o resultado do programa? nao vale compilar hehehhe

public class Teste{
 public Teste(){
  m1();
  m2();
  try{
   m3();
  }
  catch (Exception erro){}
 }
 public static void main(String args[]){
  new Teste();
 }
 public void m1(){
  try{
   System.out.println("m1");
   return;
  }
  catch (Exception erro){}
  finally{
   System.out.println("finally m1");
  }
 }
 public void m2(){
  try{
   System.out.println("m2");
   throw new Exception();
  }
  catch (Exception erro){
   System.out.println("catch m2");
   return;
  }
  finally{
   System.out.println("finally m2");
  }
 }
 public void m3() throws Exception{
  try{
   System.out.println("m3");
   throw new Exception();
  }
  catch (Exception erro){
   throw new Exception();
  }
  finally{
   System.out.println("finally m3");
  }
 }
}

5 Respostas

C

m1
m2
catch m2
finally m2
m3
finaly m3

C

Pooo … :(( … fui executar e vi que esqueci do finnaly m1 … :’(

F

exatamente, o finally SEMPRE eh executado, mesmo q o metodo retorne… acho q a unica situacao q ele n eh executado e se for chamado System.exit() hehehhehe

G

Bah, quase 10.
Mas também, com um monte de linhas amontoadas,
complica não so a lógica, mas é tambem um trabalho de ilusão.

Finnaly

F

“gianr”:
Bah, quase 10.
Mas também, com um monte de linhas amontoadas,
complica não so a lógica, mas é tambem um trabalho de ilusão.

Finnaly

Com certeza…

Mas eu acertei, só não tinha prestado atenção que tinha os catch e os finally do println…

Eu ia dizer que deu:
m1
m1
m2
m2
m2
m3
m3

Mas pelo menos a lógica eu intendi…

Criado 9 de setembro de 2004
Ultima resposta 16 de set. de 2004
Respostas 5
Participantes 4