Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — FGV 2024

ProgramaçãoLinguagens de programação
Código
fg099932
Banca
FGV
Órgão
TJ-RR
Ano
2024
Nível
Superior
Cargo
Analista Judiciário - Desenvolvimento de Sistemas
Em muitas linguagens de programação, o bloco try-catch é uma estrutura fundamental para o tratamento de exceções.No Javascript, para tratar múltiplas exceções dentro de um mesmo bloco try-catch, podemos
  1. Autilizar múltiplos blocos catch após o mesmo bloco try, cada um para uma exceção específica.
  2. Bespecificar os diferentes tipos de exceção na cláusula catch, separados por vírgulas.
  3. Cutilizar o bloco finally para capturar exceções adicionais não tratadas pelo bloco catch.
  4. Dusar um único bloco catch e, dentro dele, diferenciar as exceções usando estruturas condicionais como if ou switch.
  5. Edeclarar os tipos de exceção diretamente no bloco try usando parâmetros específicos.
Revelar gabarito e comentário

GabaritoD — usar um único bloco catch e, dentro dele, diferenciar as exceções usando estruturas condicionais como if ou switch.

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”.

Tratamento de exceções em JavaScript

Gabarito: letra D. Em JavaScript, não é possível ter múltiplos blocos catch após um único try; ao contrário de Java, utiliza-se um único catch e, dentro dele, diferencia-se o tipo de exceção com estruturas condicionais (if/switch) — exatamente o que a alternativa D descreve.

A questão testa o conhecimento da sintaxe de tratamento de exceções em JavaScript, que difere de linguagens como Java. É fundamental saber que o JavaScript permite apenas um bloco catch por try, mas oferece flexibilidade para identificar a exceção por meio de propriedades como name ou message, ou ainda com instanceof.

NÃO CAIA NESSA!

Candidatos vindos de Java podem estranhar a ausência de múltiplos catch no JS — a banca explora essa diferença. Em Java, você pode ter vários catch para diferentes tipos de exceção; em JavaScript, a abordagem é usar um único catch e verificar a exceção internamente.

Alternativa A — ❌ Incorreta

JavaScript não suporta múltiplos blocos catch após um mesmo try. Apenas um catch é permitido. Essa é uma funcionalidade de linguagens como Java e C#, mas não do JavaScript.

Alternativa B — ❌ Incorreta

Não é possível especificar diferentes tipos de exceção separados por vírgulas na cláusula catch. O catch recebe um único parâmetro que representa a exceção lançada, e a diferenciação deve ser feita dentro do bloco.

Alternativa C — ❌ Incorreta

O bloco finally é executado sempre, independentemente de exceção, e não captura exceções. Sua finalidade é executar código de limpeza. Tentar capturar exceções no finally é inválido.

Alternativa D — ✅ Correta ⟵ GABARITO

Esta é a forma correta. Use um único bloco catch e, dentro dele, empregue estruturas condicionais como if (e instanceof TypeError) ou switch(e.name) para tratar diferentes tipos de exceção.

Alternativa E — ❌ Incorreta

Não se declara tipos de exceção no bloco try. O try apenas inicia o bloco que pode lançar exceções; os tipos são tratados no catch, conforme descrito na alternativa D.

Gabarito: letra D.

Link permanente: /questoes/fg099932