Questão de Programação — Linguagens de programação — FCC 2025
Programação›Linguagens 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:
Dif (operPres === 2 || !email) throw new IllegalArgumentException("Email obrigatório");
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 &&.