You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue2如何挂载全局错误处理而非覆盖,实现错误上报至Sentry?

Vue2 挂载全局错误处理器而非覆盖的实现方法

直接覆盖Vue.config.errorHandler会替换掉Vue默认的错误控制台输出逻辑,想要同时保留原有行为和自定义监控上报,只需要先缓存原错误处理器,再在自定义逻辑中调用它即可。

修改你的插件代码如下:

const plugin: PluginObject<never> = {
    install(Vue: typeof _Vue): void {
        // 缓存Vue原有的全局错误处理器
        const originalErrorHandler = Vue.config.errorHandler;

        Vue.config.errorHandler = (err, vm, info) => {
            // 执行你的Sentry上报逻辑
            // my Sentry stuff        

            // 调用原错误处理器,保留默认的控制台输出
            if (originalErrorHandler) {
                originalErrorHandler(err, vm, info);
            }
        };
    }
};

这样修改后,当Vue捕获到全局错误时,会先执行你的监控上报逻辑,再触发原本的错误处理行为(包括控制台输出错误信息),实现了“挂载”而非“覆盖”的效果。

内容的提问来源于stack exchange,提问作者Febertson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 04:44:51