31

我正在尝试调试我们对 window.onerror 的处理。我创建了一个会引发错误的函数(调用另一个不存在的函数)。我试过从 Chrome 的 web 开发控制台调用第一个函数——控制台报告了一个错误,但我们的 window.error 处理函数似乎没有被调用。(我已经验证了 window.onerror 在控制台中引用了我们的错误处理代码)。

开发控制台中调用的函数中的错误不会触发 window.onerror 吗?

4

1 回答 1

50

他们没有(在我测试的 Chrome 中),简单的测试方法是

window.onerror = function () {console.log('error!');};
throw new Error();
// Error

不过,如果你推迟他们,你可以让他们这样做

window.setTimeout(function() {throw new Error()}, 0);
// error!
// Uncaught Error
于 2013-07-08T19:03:54.313 回答