Você está na página 1de 5

‭Questões: 1 (pag 349), 1, 2 (pág 351)‬

‭ ) Dentre as classes a seguir qual delas não é checked?‬


1
‭a) java.io.IOException‬
‭b) java.sql.SQLException‬
‭c ) java.lang.Exception‬
‭d) java.lang.IndexOutOfBoundsException‬
‭e ) java.io.FileNotFoundException‬

‭1) Escolha 2 opções.‬

‭ xception é um mecanismo para...‬


E
‭a) tratar entrada de dados do usuário.‬
‭b) que você pode usar para determinar o que fazer quando algo inespe-‬
‭rado acontece‬
‭c ) que a VM usa para fechar o programa caso algo inesperado aconteça.‬
‭d) controlar o fluxo da aplicação.‬
‭e ) separar o tratamento de erros da lógica principal‬

‭ ) De que maneira a API de exceptions pode ajudar a melhorar o código de‬


2
‭s eu programa?‬
‭Escolha 2 opções:‬
‭a) Permitindo separar o tratamento de erro da lógica do programa‬
‭b) Permitindo tratar o erro no mesmo ponto onde ele ocorre.‬
‭c) Permitindo estender as classes que já existem e criar novas exceptions‬
‭d) Disponibilizando várias classes com todas as exceptions possíveis‬
‭prontas.‬
‭e) Aumentando a segurança da aplicação disponibilizando os erros nos‬
‭logs.‬

‭Q uestões: 1, 2 (pág 357) e 3 (pág 358)‬

‭ ) Escolha a opção adequada ao tentar compilar e rodar o arquivo a seguir:‬


1
‭c lass A (‬
‭public static void main(String[] args) {‬
‭String name;‬
‭try {‬
‭Capitulo 10. Lidando com exceções‬
‭name.toLowerCase();‬
‭System.out.println("a");‬
‭} catch (NullPointerException ex) (‬
‭System.out.println("b");‬
‭}‬
‭System.out.println("c");‬
‭a) Não compila.‬
‭b) Compila e, ao rodar, imprime "abc".‬
‭ ) Compila e, ao rodar, imprime "be".‬
c
‭d) Compila e, ao rodar, imprime "a".‬
‭e) Compila e, ao rodar, imprime "b".‬
‭opção certa‬
‭e ) Compila e, ao rodar, imprime "b".‬

‭ ) Escolha a opção adequada ao tentar compilar e rodar o arquivo a seguir:‬


2
‭c lass A{‬
‭public static void main(String[] args) {‬
‭String name = null;‬
‭try {‬
‭name.toLowerCase();‬
‭System.out.printLn(“a”);‬
‭}‬
‭} catch (NullPointerException ex) {‬
‭System.out.println("b");‬
‭}‬
‭System.out.println("c");‬
‭}‬
‭a) Não compila..‬
‭b) Compila e, ao rodar, imprime "abc".‬
‭c ) Compila e, ao rodar, imprime “bc".‬
‭d) Compila e, ao rodar, imprime "a".‬
‭e) Compila e, ao rodar, imprime "b".‬
‭c ompilar e rodar‬

r‭ esposta:‬
‭e ) Compila e, ao rodar, imprime "b".‬

‭ ) Escolha a opção adequada ao tentar compilar e rodar o arquivo a seguir :‬


3
‭c lass A {‬
‭public static void main ( String [ ] args )‬
‭{ String name = null ;‬
‭try {‬
‭name.toLower Case ( ) ;‬
‭System.out.println ( " a " ) ;‬
‭} catch ( NullPointerException ex ) {‬
‭System.out.println ( " b " ) ;‬
‭}‬
‭finally {‬
‭System.out.println ( " c " ) ;‬
‭}‬
‭System.out.println ( " c " ) ;‬
‭}‬
‭}‬

‭ ) Não compila .‬
a
‭b ) Compila e , ao rodar , imprime " abcd " .‬
‭ ) Compila e , ao rodar , imprime " bcd " .‬
c
‭d ) Compila e , ao rodar , imprime " ac " .‬
‭e ) Compila e , ao rodar , imprime " bc " .‬
‭f ) Compila e , ao rodar , imprime " ad " .‬
‭g ) Compila e , ao rodar , imprime " bd " .‬
‭resposta‬
‭g) Compila e, ao rodar, imprime "bd".‬

‭Q uestões: 1, 2, 3 (Pág 366)‬

‭ ) Qual classe podemos colocar no código a seguir para que ele compile? (2‬
1
‭alternativas corretas)‬
‭import java.io‬
‭c lass x {‬
‭InputStrean y () throws ???????????{‬
‭return new FileInputStrean("a.txt");‬
‭}‬
‭void z() thrwos ?????????{‬
‭InputStrean is = y();‬
‭is.close‬
‭}‬
‭}‬
‭a) java.io.IOException‬ É uma exceção do tipo checked que pode ser lançada quando um arquivo não
é encontrado durante a tentativa de abrir um FileInputStream.
‭b) java.sql.SQLException‬
‭c) java.lang.Exception‬
‭d) java.lang.IndexOutOfBoundsException‬
‭e) java.io.FileNotFoundException‬ É uma exceção do tipo checked que pode ser lançada ao trabalhar com operações de
entrada e saída, como fechar um fluxo de entrada (InputStream) no método z().

‭ ) Escolha a opção adequada ao tentar compilar e rodar o arquivo a seguir:‬


2
‭c lass A{‬
‭void m2(){‬
‭s ystem.out.println("e")‬
‭int[][]x = new int [15][20];‬ Aqui está o fluxo do programa:
‭s ystem.out.println("f")‬
No método main, "a" é impresso.
‭}‬
m() é chamado a partir de uma instância de A.
‭void m(){‬ Dentro de m(), "c" é impresso.
‭s ystem.out.println("c")‬ m2() é chamado a partir de m().
‭m 2();‬ Dentro de m2(), "e" é impresso, um array
‭s ystem.out.println("d")‬ bidimensional x de tamanho 15x20 é criado, e
‭}‬ então "f" é impresso.
‭public static void main(String[] args){‬ Retornando para m(), "d" é impresso.
‭s ystem.out.println("a")‬ De volta ao método main, "b" é impresso.
‭new A().m();‬ Assim, a ordem de impressão será como
‭s ystem.out.println("b")‬ indicado acima.
‭}‬
‭}‬
‭ ) Não compila.‬
a
‭b) Compila e imprime acefdb.‬
‭c ) Compila e imprime ace e joga uma Exception.‬

‭ ) Compila e imprime acedb e joga uma Exception.‬


d
‭e) Compila e imprime ace, joga uma Exception e imprime db.‬
‭3.3) Escolha a opção adequada ao tentar compilar e rodar o arquivo a seguir:‬
‭c lass A{‬ Ao tentar compilar e executar esse código,
‭void m2(){‬ ocorrerá uma exceção
‭s ystem.out.println("e");‬ ArrayIndexOutOfBoundsException. Isso
‭int[] x = new int [15];‬ acontece porque você está tentando acessar
‭x[20] = 13 ;‬ um índice fora do tamanho do array x, que
‭s ystem.out.println("f")‬ foi criado com tamanho 15 (int[] x = new int
‭}‬ [15]) e está tentando acessar x[20].
‭void m(){‬
‭s ystem.out.println("c")‬ a
‭m 2();‬
c
e
‭s ystem.out.println("d")‬
Exception in thread "main"
‭}‬ java.lang.ArrayIndexOutOfBoundsException
‭public static void main(Strings[] args){‬
‭s ystem.out.println("a");‬ O "e" é impresso antes de ocorrer a
‭new A().m();‬ exceção, pois está dentro do método m2(),
‭s ystem.out.println("b")‬ que é chamado por m() antes da exceção
‭}‬ ser lançada. Depois disso, o programa
‭}‬ terminará de executar devido à exceção não
‭a) Não compila.‬ tratada.
‭b) Compila e imprime acefdb.‬
‭c ) Compila e imprime ace e joga uma Exception.‬
‭d) Compila e imprime acedb e joga uma Exception.‬
‭e) Compila e imprime ace, joga uma Exception e imprime db.‬

‭Q uestões: 4 (pág 367), 5 e 6 (pág 368)‬

‭ uestão 4: letra A.‬


Q
‭O código não será compilado porque o método m2 deve tratar ou jogar‬
‭java.io.FileNotFoundException.‬

‭ uestão 5: letra A.‬


Q
‭O código não será compilado porque o método main deve tratar ou jogar java.io.IOException.‬

‭ uestão 6: letra C.‬


Q
‭Compila e imprime ace e joga uma Exception.‬
‭ uestões: 7 (pág 369), 8 (pág 370) e 9 (pág 371)‬
Q
‭7- A‬ e) Compila e imprime acedb
‭8-A‬ b) Compila e imprime acefdb.
‭9-C‬ a) Não compila.

‭ uestão 10) Página 372‬ a) Não compila


Q
‭Resposta: d) Compila e imprime acedb e joga uma Exception‬

‭ uestão 11) Página 372‬ c) Compila e imprime ace e joga


Q uma Exception.
‭Resposta: d) Compila e imprime acedb e joga uma Exception‬
‭* A questão é praticamente igual a anterior‬

‭ uestão 1) Página 380‬


Q
‭Resposta: e) StackOverflowError‬

‭2 (pág 381)‬

‭ ) Escolha a opção adequada que indica o Throwable que ocorrerá no có-‬


2
‭digo a seguir:‬

i‭mport java.util.*;‬
‭public class A {‬

‭public static void main(String[] args) {‬


‭ArrayList<String> strings = new ArrayList<String>();‬
‭for(int i=0;i<10;i++)‬
‭for(int j=0; j<10; i++)‬
‭s trings.add("string" + i + " " +j);‬
‭System.out.println(string.get(99999));‬
‭}‬
‭}‬

‭ ) IndexOutOfBoundsException‬
a
‭b) ArrayIndexOutOfBoundsException‬
‭c ) NullPointerException‬
‭d) OutOfMemoryError‬
‭e ) StackOverflowError‬
‭f) ExceptionInInitializationError‬

O código fornecido contém um erro no segundo loop (for(int j=0; j<10; i++)).
Dentro desse loop, a variável i está sendo incrementada em vez de j. Isso
resultará em um loop infinito, pois a variável de controle do loop j nunca é
incrementada, levando a um java.lang.OutOfMemoryError.

Isso ocorre porque o código continuará tentando adicionar novas strings ao


ArrayList indefinidamente até que o programa esgote toda a memória
disponível.

Portanto, a opção correta para o Throwable que ocorrerá no código é:

d) OutOfMemoryError

Você também pode gostar