Informática, perguntado por rcoxa, 1 ano atrás

"Quando um evento excepcional ocorre em Java, diz-se que uma exceção será lançada. O código que é responsável por fazer algo com a exceção é chamado de manipulador de exceções; ele captura a exceção lançada.

Uma exceção é uma ocorrência que altera o fluxo normal do programa. Ela pode ocorrer por diversos motivos."

JUNIOR, Edson A. O.; NOEL, Andre A. Programação II. Maringá-Pr.: UniCesumar, 2018.

Analise o código abaixo.

1 public class Excecoes {
2 public static void main(String[] args) {
3 int[] array = new int[10];
4
5 try {
6 for (int i = 0; i < 15; i++) {
7 System.out.println(array[i]/i);
8 }
9 } catch (ArrayIndexOutOfBoundsException e) {
10 System.out.println("Erro de índice");
11 } catch (ArithmeticException e) {
12 System.out.println("Erro aritmético");
13 } catch (NullPointerException e) {
14 System.out.println("Erro de elemento nulo");
15 } catch (Exception e) {
16 System.out.println("Erro desconhecido");
17 }
18 }
19 }

Considerando o texto e o código acima, assinale a alternativa correta:

Alternativa 1: O sistema é executado normalmente, sem erros.
Alternativa 2: O sistema gera uma exceção e exibe o texto "Erro de índice".
Alternativa 3: O sistema gera uma exceção e exibe o texto "Erro aritmético".
Alternativa 4: O sistema gera uma exceção e exibe o texto "Erro desconhecido".
Alternativa 5: O sistema gera uma exceção e exibe o texto "Erro de elemento nulo".

Soluções para a tarefa

Respondido por Duhgimenes
9

Erro aritmético, o [i]/i causa isso.

Respondido por oliveiraconcursos
7

Bom dia,

Vamos analisar o código abaixo baseados nas pontuações em negrito que fiz.

1 public class Excecoes {

2 public static void main(String[] args) {

3 int[] array = new int[10];

4  

5 try {

6 for (int i = 0; i < 15; i++) {

7 System.out.println (array[i]/i);   Nessa parte encontramos o primeiro erro!

8 }

9 } catch (ArrayIndexOutOfBoundsException e) {

10 System.out.println("Erro de índice");

11 } catch (ArithmeticException e) {

12 System.out.println("Erro aritmético");

13 } catch (NullPointerException e) {

14 System.out.println("Erro de elemento nulo");

15 } catch (Exception e) {

16 System.out.println("Erro desconhecido");

17 }

18 }

19 }

O erro gerado na questão é o aritmético por conta da colocação errada do comando(, o comando correto seria: String[] args){

        int resultado = i/i;

        System.out.println(resultado);

        System.exit(0).

Ao escrever [i]/i é gerado um erro aritmético.

GABARITO FINAL: ALTERNATIVA 3

Perguntas interessantes