【发布时间】:2017-07-06 19:08:32
【问题描述】:
我正在创建一个 webapp 并尝试捕获 vue.js webapp 中任何地方抛出的所有错误。
我正在查看errorHandler,但它只在渲染或观察者期间捕获错误,如上所述:
为组件渲染和观察期间未捕获的错误分配处理程序。处理程序被调用,带有错误和 Vue 实例。
从question 得到提示,我编写了以下代码:
window.onerror = function (errorMsg, url, lineNumber, column, errorObj) {
console.log('Inside window.onerror')
console.log(errorMsg, ' ', url, ' ', lineNumber, ' ', column, ' ', errorObj)
return false
}
window.addEventListener('error', function (e) {
console.log('Inside error Listener', e.message)
})
以上都被调用,但我没有这些错误的任何细节。在所有情况下,我都将errorMessage 视为script error
有什么更好的方法来获取所有错误的详细信息并将其发送到某个集中的地方,例如sentry。
【问题讨论】:
-
你见过 log4javascript 吗?这可能满足您的需求
-
有同样的问题。但我在控制台中没有得到任何东西。我在stackoverflow上找到了这个答案,它是关于未来的,但现在如何,可能会有帮助。 unhandledrejection event listener
-
您可能会收到
script error,因为这些错误发生在从不同来源加载的脚本中,并且不会报告它们的详细信息以防止信息泄露。您可以尝试为这些脚本配置 CORS 策略。查看developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/…的更多详细信息。
标签: javascript error-handling vuejs2 vue.js