Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2024

ProgramaçãoLinguagens de programação
Código
ce176788
Banca
CESPE / CEBRASPE
Órgão
MPE-TO
Ano
2024
Nível
Superior
Cargo
Analista Ministerial Especializado - Área de Atuação: Análise de Sistemas
Em relação à linguagem de programação Java, julgue o item a seguir.Durante a execução do código a seguir, ocorrerá uma exceção ArithmeticException.Imagem associada para resolução da questão
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Exceções em Java: ArithmeticException

Gabarito: letra C (CERTO). A afirmação está correta porque a divisão de um número inteiro por zero em Java lança a exceção ArithmeticException, que é uma exceção não verificada (unchecked) que ocorre em tempo de execução. O código apresentado na imagem, que realiza uma divisão por zero, inevitavelmente dispara essa exceção durante a execução.

A ArithmeticException é uma das exceções mais comuns em Java e ocorre quando uma operação aritmética é executada de forma inválida, como a divisão de um inteiro por zero. Em Java, a divisão de inteiros por zero não é permitida e resulta no lançamento dessa exceção. Diferentemente de linguagens como C, onde a divisão por zero pode causar um comportamento indefinido, Java trata isso de forma explícita, lançando uma exceção que pode ser capturada e tratada pelo programador.

Essa exceção é uma subclasse de RuntimeException, que por sua vez é uma subclasse de Exception. As exceções do tipo RuntimeException são chamadas de exceções não verificadas (unchecked), pois o compilador não exige que o programador as trate explicitamente com try-catch ou throws. Isso significa que o código pode compilar normalmente, mas a exceção será lançada em tempo de execução, interrompendo o fluxo normal do programa se não for capturada.

Na prática, se o código da imagem contém uma operação como int resultado = 10 / 0;, a JVM lançará uma ArithmeticException no momento em que essa linha for executada. O programa será interrompido, a menos que haja um bloco try-catch para capturar e tratar essa exceção. A banca explora exatamente esse comportamento: a divisão por zero com inteiros é uma das formas mais diretas de gerar essa exceção.

É importante distinguir a ArithmeticException de outras exceções comuns, como NullPointerException (acesso a um objeto nulo) e ArrayIndexOutOfBoundsException (acesso a um índice inválido de array). Cada uma tem sua causa específica, mas todas são exceções não verificadas que ocorrem em tempo de execução. A pegadinha da banca pode ser tentar confundir o candidato com outras exceções, mas a divisão por zero é o gatilho clássico para a ArithmeticException.

Guarde o critério decisivo: divisão de inteiro por zero em Java sempre lança ArithmeticException. É exatamente esse comportamento que a questão testa, e é nele que a alternativa correta se apoia.

ArithmeticException
  • 1O que é
    • Exceção não verificada (unchecked)
    • Subclasse de RuntimeException
    • Ocorre em tempo de execução
  • 2Causa clássica
    • Divisão de inteiro por zero
  • 3Comportamento
    • Compila normalmente
    • Interrompe o programa se não capturada
    • Pode ser tratada com try-catch
  • 4Distinção de outras exceções
    • NullPointerException (objeto nulo)
    • ArrayIndexOutOfBoundsException (índice inválido)
LEVEL · soulevel.com.br

Alternativa C — ✅ Certo ⟵ GABARITO

A afirmação está correta. A divisão de um número inteiro por zero em Java lança a exceção ArithmeticException. Essa exceção é uma RuntimeException, ou seja, uma exceção não verificada que ocorre em tempo de execução. O código apresentado na imagem, que realiza uma divisão por zero, inevitavelmente dispara essa exceção durante a execução, a menos que seja capturada por um bloco try-catch. Portanto, a afirmação de que ocorrerá uma ArithmeticException é verdadeira.

Gabarito: letra C (CERTO).

Link permanente: /questoes/ce176788