Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — FCC 2025

ProgramaçãoLinguagens de programação
Código
fc073882
Banca
FCC
Órgão
SEFAZ-PI
Ano
2025
Nível
Superior
Cargo
Analista do Tesouro Estadual - Área de Conhecimento: Tecnologia da Informação (prova 2)
Ao emitir uma NF-e com operPres = 2 (operação não presencial, como vendas pela internet), o campo de e-mail (email) do destinatário não pode estar vazio. A aplicação deve bloquear a emissão nesse cenário. Implementa corretamente essa validação em JavaScript a instrução:
  1. Aif (operPres == 2 && !email) throw new ArgumentException ("Email obrigatório"):
  2. Bif (operPres == 2 || !email) throw new Exception("Email obrigatório");
  3. Cif (operPres == 2 && !email) raise ValueError("Email obrigatório");
  4. Dif (operPres === 2 || !email) throw new IllegalArgumentException("Email obrigatório");
  5. Eif (operPres === 2 && !email) throw new Error("Email obrigatório");
Revelar gabarito e comentário

GabaritoE — if (operPres === 2 && !email) throw new Error("Email obrigatório");

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

Validação de NF-e em JavaScript

Gabarito: letra E. A instrução correta para bloquear a emissão quando operPres == 2 (operação não presencial) e o campo email do destinatário estiver vazio deve usar o operador lógico AND (&&), comparação estrita (===) e lançar uma exceção nativa do JavaScript, ou seja, throw new Error(...). A alternativa E atende exatamente a esses requisitos.

Análise das alternativas

Alternativa A — ❌ Incorreta

Utiliza ArgumentException, que não é uma exceção nativa do JavaScript. Em JavaScript, as exceções padrão são Error, TypeError, RangeError, etc. Além disso, usa == (igualdade solta) em vez de ===.

Alternativa B — ❌ Incorreta

Erro duplo: operador || (OR) no lugar de && (AND) — isso faria a exceção ser lançada sempre que uma das condições fosse verdadeira, não apenas quando ambas forem. Também usa Exception (inexistente em JS) e ==.

Alternativa C — ❌ Incorreta

Usa raise (palavra-chave do Python, não do JavaScript) e ValueError (exceção Python). A sintaxe correta em JavaScript é throw new Error(...).

Alternativa D — ❌ Incorreta

Operador || (OR) novamente — a validação deve ser AND. A exceção IllegalArgumentException é do Java, não do JavaScript.

Alternativa E — ✅ Correta ⟵ GABARITO

  • Comparação estrita (===) para o valor 2.

  • Operador lógico AND (&&) — exige que ambas as condições sejam verdadeiras.

  • Verifica se o email é falsy (!email): captura string vazia, null, undefined, etc.

  • Lança um Error nativo do JavaScript com a mensagem adequada.

NÃO CAIA NESSA!

A banca mistura exceções de outras linguagens (Java: ArgumentException, IllegalArgumentException; Python: ValueError, raise) para confundir o candidato. Além disso, troca o operador lógico AND por OR, o que alteraria completamente a regra de negócio. Fique atento: validação de múltiplas condições simultâneas exige &&.

Gabarito: letra E.

Link permanente: /questoes/fc073882