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");
}
}
A exceção que pode ser lançada por f() é verificada, na Classe A.
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.
O código da classe TestaExcecao não compila corretamente, pois não tem try/catch.
O código da classe TestaExcecao não vai executar.
A exceção que pode ser lançada por f() é não verificada, na Classe B.
1 pontos
PERGUNTA 2
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.
Apenas III está correta.
Apenas I está correta.
Apenas I e II estão corretas.
Apenas II está correta.
Apenas III e IV estão corretas.
1 pontos
PERGUNTA 3
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?
Antes de public class ExemploRuntimeException {
Antes de public static void main(String[] args) {
Depois de System.out.println("Número lido: " + numero)
Usar o try antes de Scanner s = new Scanner(System.in); e o catch depois de System.out.println("Número lido: " + numero)
Depois de int numero = s.nextInt()
1 pontos
PERGUNTA 4
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();
}
}
é um tipo de exceção verificada.
não há erros e nenhuma exceção será gerada.
trata-se de um erro de código que gera uma exceção de compilação.
não temos uma exceção quando chamamos o método println() para uma posição inexistente do array (posição 3).
é gerada uma exceção do tipo ArrayIndexOutOfBoundsException, pois ocorreu acesso a uma posição fora dos limites do array.
1 pontos
PERGUNTA 5
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);
}
}
O código executa corretamente.
Ocorrerá uma exceção em tempo de execução.
A exceção gerada é IndexOutOfBoundException.
Ocorrerá uma exceção em tempo de compilação.
A exceção gerada é NullPointerException.
1 pontos
PERGUNTA 6
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]));
}
}
}
Não existirão exceções.
O número de exceções geradas será 4.
O número de exceções geradas será 2.
O número de exceções geradas será 1.
O número de exceções geradas será 3.
1 pontos
Respostas
respondido por:
3
Perguntas similares
3 anos atrás
3 anos atrás
6 anos atrás
6 anos atrás
7 anos atrás
7 anos atrás
7 anos atrás