JavaScriptMódulos e Errosintermediario

Error boundary pattern

Em aplicações reais, funções podem falhar inesperadamente—como ao acessar um recurso externo ou processar dados inválidos. Em vez de deixar o programa quebrar com throw, o padrão error boundary captura erros e retorna um objeto previsível. Isso é útil em APIs, processamento de formulários ou chamadas a bibliotecas instáveis, pois quem chama a função sabe exatamente como tratar sucesso e falha.

O PROBLEMA

Implemente withErrorBoundary(fn) que retorna {sucesso, dados, erro}.

EXEMPLO

const seguro = withErrorBoundary(dividir);
seguro(10, 2) → {sucesso:true, dados:5, erro:null}
seguro(10, 0) → {sucesso:false, dados:null, erro:'Divisão por zero'}

SOBRE O CONCEITO

withErrorBoundary(fn) é uma higher-order function que envolve fn em um try/catch. Ela retorna uma nova função que, ao executar fn, sempre devolve um objeto com {sucesso, dados, erro}. O erro comum é não retornar esse objeto consistente: por exemplo, só retornar {dados} no sucesso e {erro} na falha. Isso quebra a interface esperada, obrigando quem chama a função a verificar se dados ou erro existem, o que é frágil. Com o padrão, o objeto é sempre o mesmo: no try você retorna {sucesso: true, dados: resultado, erro: null} e no catch você retorna {sucesso: false, dados: null, erro: mensagem}. Assim, quem usa pode acessar resultado.sucesso com segurança.

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