为什么Chrome onerror处理程序无法返回完整的错误消息?

时间:2018-10-09 18:57:57

标签: javascript google-chrome firefox error-handling onerror

Chrome输出“脚本错误”。并且Firefox输出“ ReferenceError:未定义d”

在两个浏览器的控制台中运行以下代码,并注意区别。
为什么Chrome的信息描述性不如Firefox?如何从Chrome中获取完整的错误消息?

代码被包装在setTimeouts中,以便可以在相同的上下文中运行它们以供控制台运行和输出。作为脚本运行时,也会发生此问题。

// custom global error handler
setTimeout(() => {
  window.onerror = function(message) {
    console.log("Error message: ", message)
    return false
  }
})

// create an error
setTimeout(() => {
  d;
})

1 个答案:

答案 0 :(得分:1)

对于遇到此问题的其他任何人。众所周知,webpack can interfere在Chrome中带有window.onerror,这是因为有webpack url方案。在这种情况下,请使用Chrome 69.03和Webpack 3.12.0。

我找不到这些版本的解决方法,但是从构建而不是在开发人员模式下运行应用程序时,onerror报告了正确的错误。