Error properties
Quando seu código quebra em produção, a mensagem de erro sozinha muitas vezes não basta para entender a causa. O nome do erro (name) indica o tipo (como TypeError, ReferenceError), e o stack mostra a pilha de chamadas que levou ao problema — um rastro essencial para debugar sem precisar reproduzir o erro localmente. Dominar essas propriedades acelera a resolução de bugs reais.
O PROBLEMA
Capture um erro e exiba suas propriedades: message, name, stack.
EXEMPLO
try {
throw new Error("Algo deu errado");
} catch(e) {
console.log(e.name) → "Error"
console.log(e.message) → "Algo deu errado"
console.log(e.stack) → "Error:..."SOBRE O CONCEITO
O objeto Error em JavaScript possui três propriedades principais: message (a descrição), name (o tipo, como 'Error', 'TypeError') e stack (o rastro de execução). Um erro comum é assumir que stack estará sempre presente — ele não é padronizado e pode não existir em ambientes mais antigos ou no Node.js se o erro não for nativo. Por isso, sempre verifique se stack existe antes de usá-lo, ou use console.error(e) que já lida com isso. No exercício, usamos try/catch para capturar o erro lançado com throw new Error(...), e então acessamos as propriedades com console.log. Não use funções, loops ou classes — apenas o básico do bloco try/catch.
RESOLUÇÃO