"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
Erro aritmético, o [i]/i causa isso.
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