我正在尝试调试window.onerror的处理。我创建了一个会抛出错误的函数(调用另一个不存在的函数)。我试过从Chrome的Web开发控制台调用第一个函数 - 在控制台中报告错误,但我们的window.error处理函数似乎没有被调用。 (我已经验证window.onerror在控制台中引用了我们的错误处理代码。)
在开发控制台中调用的函数中的错误是否触发window.onerror?
答案 0 :(得分:30)
他们没有(在我测试的Chrome中),简单的测试方法是
window.onerror = function () {console.log('error!');};
throw new Error();
// Error
如果你推迟他们,你可以让他们这样做,但
window.setTimeout(function() {throw new Error()}, 0);
// error!
// Uncaught Error