Javascript Chrome:从开发控制台调用的代码中的错误会触发window.onerror吗?

Javascript Chrome:从开发控制台调用的代码中的错误会触发window.onerror吗?,javascript,google-chrome,Javascript,Google Chrome,我正在尝试调试对window.onerror的处理。我创建了一个会抛出错误的函数(调用另一个不存在的函数)。我试着从Chrome的web开发控制台调用第一个函数-控制台中报告了一个错误,但是我们的window.error处理函数似乎没有被调用。(我已经验证window.onerror引用了控制台中的错误处理代码) 开发人员控制台中调用的函数中的错误是否不会触发窗口。OneError?它们不会(在我测试的Chrome中),简单的测试方法是 window.onerror = function ()

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

开发人员控制台中调用的函数中的错误是否不会触发窗口。OneError?

它们不会(在我测试的Chrome中),简单的测试方法是

window.onerror = function () {console.log('error!');};
throw new Error();
// Error
不过,如果你推迟,你可以让他们这么做

window.setTimeout(function() {throw new Error()}, 0);
// error!
// Uncaught Error

哦,那很有趣。感谢您的澄清和解决方案@RobW很有趣,可能适用于+1的其他地方,但问题变成了“控制台的起源是什么”?,如果您所说的是真的,那么这不是一个简单的答案,否则XHR将无法从控制台工作。我认为更可能的情况是,
控制台
被包装在它自己的
try..catch
@RobW中-我认为外部脚本仍然调用window.onerror,但是错误对象被剥夺了所有有用的信息?这个问题描述的问题是:@UpTheCreek是的,你是对的。我删除了以前不正确的评论。
debugger是你的朋友。//如果您查看调用堆栈,您将看到最终评估被包装在两个try捕获(Cr28)中。重复项:,@c69不确定这些是否重复,因为1<代码>窗口。OneError
现在在Chrome中。2. <代码>窗口。代码中的其他地方正在触发onerror。3.这些问题不涉及
控制台