Javascript 带Sentry的Vue CLI 3-如何使用Vue';s config.errorHandler?

Javascript 带Sentry的Vue CLI 3-如何使用Vue';s config.errorHandler?,javascript,vue.js,error-handling,sentry,Javascript,Vue.js,Error Handling,Sentry,我如何结合使用 除了应用程序中的Sentry之外,我还想捕获错误,但一旦实现config.errorHandler,我就会覆盖Sentry实现 main.js: import * as Sentry from "@sentry/browser"; Sentry.init({ dsn: "my dsn", integrations: [new Sentry.Integrations.Vue({ Vue })] }); // This prevents sentry from being

我如何结合使用

除了应用程序中的Sentry之外,我还想捕获错误,但一旦实现config.errorHandler,我就会覆盖Sentry实现

main.js:

import * as Sentry from "@sentry/browser";

Sentry.init({
  dsn: "my dsn",
  integrations: [new Sentry.Integrations.Vue({ Vue })]
});

// This prevents sentry from being used
Vue.config.errorHandler = (msg, vm , info) => {
  alert(info)
}

当Sentry覆盖
Vue.config.errorHandler
时,它保存对先前声明的
errorHandler
的引用,并在Sentry处理错误后调用它

在这种情况下,在将
Vue
构造函数传递给
new Sentry.Integrations.Vue({Vue})
之前,应该先声明自定义
errorHandler

对于上面的代码示例,只需切换自定义
errorHandler
Sentry.init()
的顺序就可以解决问题

import * as Sentry from "@sentry/browser";    

Vue.config.errorHandler = (msg, vm , info) => {
  alert(info)
}

Sentry.init({
  dsn: "my dsn",
  integrations: [new Sentry.Integrations.Vue({ Vue })]
});

您是否尝试过在自定义代码之后的
errorHandler
末尾抛出错误<代码>抛出消息,在您的情况下。@aBiscuit是的,相同的结果。