onErrorCaptured() Capturar erros de componentes descendentes
Última atualização: 2026-10-22
onErrorCaptured() Capturar erros de componentes descendentes
onErrorCaptured() captura erros lançados por componentes descendentes em renderização/ciclo de vida/observadores e pode impedir que o erro continue se propagando.
| Grupo | Hooks de Ciclo de Vida |
|---|---|
| Tipo | API |
| Escopo | No Componente |
| Versão do Vue | 3.0+ |
| Suporte a SSR | Sim |
📝 Sintaxe
onErrorCaptured((err, instance, info) => {
console.error(err)
return false // retorna false para impedir a propagação
})
⚙️ Argumentos
| err | O objeto de erro |
|---|---|
| instance | A instância do componente que lançou o erro |
| info | Descrição da origem do erro (render / mounted hook etc.) |
Retorno:Retornar false impede que o erro continue se propagando para cima
▶ Exemplo
Edite o código abaixo e veja o resultado ao vivo:
Saída:
The page shows 'caught: child exploded' without a blank screen.
💡 Pontos-chave
💡 Dica Capturar no componente raiz e reportar à plataforma de monitoramento (Sentry etc.) é um uso comum.
⚠️ Aviso Depois de capturar, o erro ainda precisa ser tratado: apenas registrar sem tratar encobre o problema e causa falhas silenciosas.
ℹ️ Nota Retornar false impede o prosseguimento do bubbling; sem retorno, o erro continua para os níveis superiores e para o errorHandler global.
🏷️ Hooks de Ciclo de Vida relacionados
💡 Casos Relacionados
Mais casos em breve.
📚 Tutoriais Relacionados
❓ FAQ
P Consegue capturar erros em requisições assíncronas de componentes filhos?
R Não: ele só captura erros lançados sincronamente em renderização, hooks de ciclo de vida e observadores; rejeições de Promise precisam ser tratadas por você.
P Qual a relação com o errorHandler global?
R O erro primeiro faz bubbling até o ponto de captura superior mais próximo: se aqui der return false, ele não chega ao manipulador global.
P Como escrever um componente de fronteira de erro?
R Basta envolver com um componente pai usando onErrorCaptured + renderização condicional de UI de reserva.