全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-20 5 分钟 ✍️ juanwangdev

errorCaptured

errorCaptured 是组件级别的错误处理钩子。

基本用法

JavaScript
export default {
  data() {
    return { error: null }
  },
  errorCaptured(err, instance, info) {
    this.error = err
    return false // 阻止错误继续传播
  }
}

参数:

  • err: 错误对象
  • instance: 抛出错误的组件实例
  • info: 错误来源信息

Composition API

JavaScript
import { onErrorCaptured } from 'vue'

export default {
  setup() {
    onErrorCaptured((err, instance, info) => {
      console.error('捕获到错误:', err)
      return false
    })
  }
}

错误边界

vue
<template>
  <div v-if="error">
    <h2>出错了</h2>
    <p>{{ error.message }}</p>
  </div>
  <slot v-else></slot>
</template>

<script>
export default {
  data() {
    return { error: null }
  },
  errorCaptured(err) {
    this.error = err
    return false
  }
}
</script>

返回 false 阻止错误继续向上传播。

要点总结

  • errorCaptured 捕获子孙组件错误
  • 参数包含错误对象、组件实例和来源信息
  • 返回 false 阻止错误传播
  • 用于实现组件级错误边界

📝 发现内容有误?点击此处直接编辑

← 上一篇 beforeUpdate与updated
下一篇 → 父子组件生命周期顺序
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库