SóProvas


ID
2699374
Banca
FGV
Órgão
Banestes
Ano
2018
Provas
Disciplina
Programação
Assuntos

O programa Java


public class X

{

public static void main(String [] args)

{

try

{

falha();

System.out.print("A1");

}

catch (RuntimeException ex)

{

System.out.print("A2");

}

catch (Exception ex1)

{

System.out.print("A3");

}

finally

{

System.out.print("A4");

}

System.out.print("A5");

}

public static void falha()

{

throw new RuntimeException();

}

}


produz:

Alternativas
Comentários
  • 1-Quando é acionado o método  falha(); O sistema avança imediatamente para o catch tratando a falha que foi forçada forçada (RuntimeException)

    Dessa maneira ocorre a impressão  System.out.print("A2");

     

    2-Após esse cenário ocorre a execução do finally, independente do try /catch ser executado ( imprime System.out.print("A4");

    3-e por fim System.out.print("A5");

     

    ***Cuidado com questões da banca FGV sempre tem uma pegadinha.

  • letra D

    public class X

    {

        public static void main(String [] args)

        {

            try

            {

                falha(); avança para runtime exception

                System.out.print("A1");

            }

            catch (RuntimeException ex)

            {

                System.out.print("A2");IMPRIME A2

            }

            catch (Exception ex1)

            {

                System.out.print("A3");

            }

            finally

            {

                System.out.print("A4");IMPRIME A4

            }

                System.out.print("A5");IMPRIM A5

            }

        public static void falha()

        {

            throw new RuntimeException();

        }

    }

  • Alternativa correta: D.

    .

    .

    Complementando: em um bloco try, caso ocorra uma falha em algum dos comandos contidos nele, o bloco encerra a execução. Ele não vai executar os demais comandos. Ao invés disso, ele vai ir diretamente para o bloco de tratamento do erro em questão.

    .

    Por fim, independentemente do que aconteceu, o bloco finally é executado. Aí depois o programa sai do bloco try-catch-finally e executa o resto do programa.