Lógica, perguntado por mcdsilva2331, 5 meses atrás

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"); } } O código da classe TestaExcecao não vai executar. 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. A exceção que pode ser lançada por f() é não verificada, na Classe B. A exceção que pode ser lançada por f() é verificada, na Classe A.

Soluções para a tarefa

Respondido por 7bd6acc247
0

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.

Explicação:

Perguntas interessantes