如何附加到全局vue错误处理

lymnna71  于 2023-11-21  发布在  Vue.js
关注(0)|答案(1)|浏览(112)

在我的Vue 2应用程序中,我想找到一个可以捕获全局Vue错误的地方,并将它们发送到日志/监视示例,如Sentry。
当我覆盖Vue的全局错误处理程序时,我不再得到控制台日志。是否有可能附加到全局错误处理程序而不是覆盖它?

const plugin: PluginObject<never> = {
    install(Vue: typeof _Vue): void {
        Vue.config.errorHandler = (err, vm, info) => {
            // my Sentry stuff        
        }
    })
}

字符串

jucafojl

jucafojl1#

您需要存储对原始错误处理程序的引用,然后从自定义错误处理程序中调用它。这将允许您将错误发送到日志/监视示例并保留默认错误。

const plugin: PluginObject<never> = {
install(Vue: typeof _Vue): void {
    // Store the original error handler
    const originalErrorHandler = Vue.config.errorHandler;

    Vue.config.errorHandler = (err, vm, info) => {
        // Your Sentry or other logging/monitoring code
        // ...

        // Call the original error handler, if it exists
        if (originalErrorHandler) {
            originalErrorHandler.call(this, err, vm, info);
        } else {
            // If there wasn't an original error handler, you can log the error to the console
            console.error(err);
        }
    };
}

字符串
};

相关问题