Baixe o app para aproveitar ainda mais
Prévia do material em texto
PERGUNTA 1 Um analista foi solicitado para verificar o código a seguir e emitir uma opinião sobre ele. Assinale a alternativa correta. public class A { public void f(int a){ if (a < 10) throw new NumberFormatException(); System.out.println("a = "+ a); } } import java.io.IOException; public class B{ public void f(int a) throws IOException { if (a < 10) throw new IOException ("valor do argumento de f() é " + a + " (menor que 10)"); System.out.println("a = "+ a); } } import java.io.IOException; public class TestaException{ public static void main(String[] args) throws IOException{ B x = new B(); int a = 4; x.f(a); System.out.println("fim do metodo main em TestaException"); } } Resposta: Considerando a classe TestaException, a exceção que pode ser lançada por f() é verificada (IOException), e o método main() tem a cláusula "throws IOException", o que faz a compilação ocorrer corretamente. PERGUNTA 2 Considere o código Java a seguir: import java.util.Scanner; public class ExemploRuntimeException { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.print("Entre com um número inteiro: "); int numero = s.nextInt(); System.out.println("Número lido: " + numero); } } Em que posição do código devemos tratar a exceção com o bloco try/catch? Resposta: Usar o try antes de Scanner s = new Scanner(System.in); e o catch depois de System.out.println("Número lido: " + numero) PERGUNTA 3 Dois programadores estavam em uma discussão acerca das exceções em Java e algumas afirmações desta discussão são listadas a seguir. I. O programador A disse que uma exceção é uma classe de Java representada genericamente pela classe java.io. II. O programador B salientou que não podemos criar as nossas próprias exceções, pois o Java trata disso por meio de uma hierarquia de exceções. III. Ambos os programadores concordaram que as exceções que são subclasses de java.lang.Exception são divididas em dois tipos: Checked e Unchecked. IV. Ambos os programadores concordam que embora seja comum usar catch com a classe Exception por qualquer erro, é muito mais difícil identificar o erro. Assim, sugerem tratar as exceções de forma específica. Assinale a alternativa correta. Resposta: Apenas III e IV estão corretas. PERGUNTA 4 Ao se programar em Java, o uso de exceções permite separar a detecção de um erro e o seu respectivo tratamento. Assinale a alternativa correta: Resposta: Uma exceção em Java é um objeto da classe java.lang.Exception ou de uma de suas subclasses. PERGUNTA 5 Uma exceção é uma indicação de algum problema na execução de um programa de computador. Analise as afirmações a seguir e escolha a alternativa correta. I. É mais vantajoso usar o tratamento de erros usando as condições (if). II. O tratamento de exceções deixa o código mais legível e eficiente. III. NullPointerException ocorre quando se tenta fazer coerção equivocada de um objeto. IV. O tratamento de exceções em Java é feito somente por try/cacth, de modo que todas as exceções lançadas por um programa necessitem obrigatoriamente ser capturadas e tratadas. Resposta: Apenas II está correta. PERGUNTA 6 Em relação às exceções verificadas (checked), é correto afirmar que: Resposta: ela precisa ser obrigatoriamente tratada, pois caso contrário o programa não compila corretamente. PERGUNTA 7 Considere o código a seguir que apresentará erro se for executado sem o tratamento de exceções. Assinale a alternativa correta que lista quais são os tipos de exceções geradas ao executar o código. import java.io.IOException; public class TesteException { public static void main(String[] args) { int[] numeros = {4, 8, 16, 32, 64, 128}; int[] denominador = {2, 0, 4, 8, 0}; for (int i = 0; i < numeros.length; i++) { System.out.println(numeros[i] + "/" + denominador[i] + " = " + (numeros[i]/denominador[i])); } } } Resposta: ArithmeticException e ArrayIndexOutOfBoundsException. PERGUNTA 8 Foi solicitado a um programador a análise de código a seguir e o seu parecer está listado corretamente na alternativa: import java.util.Scanner; public class ExemploRuntimeException { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.print("Entre com um número inteiro: "); int numero = s.nextInt(); System.out.println("Número lido: " + numero); } } Resposta: Ocorrerá uma exceção em tempo de execução. PERGUNTA 9 Um analista foi convocado para analisar o código a seguir de modo a encontrar erros. É correto afirmar que: public class TestaException { public static void testaException() { String[] stringArray = { "Olá", "pessoal", "Saudações" }; for (int i = 0; i < 4; i++) { System.out.println(stringArray[i]); } } public static void main(String[] args) { testaException(); } } Resposta: é gerada uma exceção do tipo ArrayIndexOutOfBoundsException, pois ocorreu acesso a uma posição fora dos limites do array. PERGUNTA 10 Considere o código a seguir que apresentará erro se for executado sem o tratamento de exceções. Analise o código e identifique quantas exceções podem ser geradas. import java.io.IOException; public class TesteException { public static void main(String[] args) { int[] numeros = {4, 8, 16, 32, 64, 128}; int[] denominador = {2, 0, 4, 8, 0}; for (int i = 0; i < numeros.length; i++) { System.out.println(numeros[i] + "/" + denominador[i] + " = " + (numeros[i]/denominador[i])); } } } Resposta: O número de exceções geradas será 3. PERGUNTA 1 PERGUNTA 2 PERGUNTA 3 PERGUNTA 4 PERGUNTA 5 PERGUNTA 6 PERGUNTA 7 PERGUNTA 8 PERGUNTA 9 PERGUNTA 10
Compartilhar