- 
                                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.