SóProvas


ID
425074
Banca
UFBA
Órgão
UFBA
Ano
2009
Provas
Disciplina
Programação
Assuntos

O bloco finally em uma instrução try – catch – finally sempre será executado quer ocorra ou não uma exceção no bloco try.

Alternativas
Comentários
  • Embora o gabarito oficial tenha considerado a questão como Certa existe excessões ao texto da sentença. Uma delas é simples, invocar a saída do sistema em uma das condições de catch ou um Error. Abaixo há um exemplo de código:

     try{
               System.out.println("Try");
               throw new Exception("error");
              
           }catch(Exception e){
              System.out.println("Catch");
              System.exit(1);
           }finally{
               System.out.println("Teste");
           }

    No exemplo acima a saída será:
    >> Try
    >> Catch

    Note que ele não entrará no finally porque o programa invoca a saída "System.exit(1)" dentro do Catch. Assim há sim condições em que o finally não é executado e esse seria um importante argumento para alterar o gabarito caso a banca tivesse sensibilidade.
    Abraço e Bons Estudos.
  • complementando: mesmo comandos como break, return ou continue não impedirão do finally ser executado.