JavaScriptMódulos e Errosintermediario

Encadeamento de erros

Em código real, especialmente em APIs ou camadas de serviço, você frequentemente precisa capturar um erro e lançar um novo com uma mensagem mais amigável ou específica. Sem o encadeamento, o erro original e sua stack trace se perdem, dificultando a depuração. Usar { cause } no construtor de Error preserva essa cadeia, permitindo rastrear a origem exata do problema.

O PROBLEMA

Implemente busca de usuário que encadeia erros usando {cause}.

EXEMPLO

try { buscarUsuario(999); }
catch(e) { throw new Error("Falha ao processar", { cause: e }); }

SOBRE O CONCEITO

O erro comum é perder o contexto do erro original ao relançar. Com throw new Error('mensagem', { cause: erroOriginal }), você vincula o novo erro ao anterior através da propriedade cause. Isso é feito passando um objeto com a chave cause como segundo argumento do construtor Error. No catch, você pode acessar e.cause para inspecionar a cadeia. Sem cause, o novo erro substitui o original, apagando a stack trace. Com cause, as ferramentas de debug (como o console do Node.js) mostram a sequência completa de falhas.

RESOLUÇÃO

Mais exercícios de Módulos e Erros

JSM003 · BásicoTipos de erroJSM005 · BásicoError propertiesJSM006 · BásicoExport nomeadoJSM008 · BásicoImport * as
Ver todos os exercícios de JavaScript