【发布时间】:2012-02-20 16:27:46
【问题描述】:
考虑以下 JavaScript 函数:
function triggerError() {
var something = undefined;
// The next line will trigger 'TypeError: Cannot call ... of undefined'
something.doesNotExist();
}
当直接运行triggerError();时,以下错误以红色写入Chrome开发者工具控制台,这是预期的:
TypeError: Cannot call method 'doesNotExist' of undefined
但是,当triggerError(); 从事件侦听器运行时,不会向控制台写入任何错误(函数调用在something.doesNotExist(); 处静默终止),这使得在出现拼写错误等情况下调试起来非常棘手。
如何确保所有错误都写入 Chrome 开发者工具控制台,包括在从事件侦听器/回调运行的代码中生成的错误?
一个明显的解决方法是在整个地方添加try { ... } catch (x) { console.log(x) };,但由于我事先不知道我会在哪里添加错别字,所以这不是一个前进的方向。
【问题讨论】:
-
这听起来像是 Chrome 中的一个错误。你应该在new.crbug.com 报告它
-
嗯,我确实在 Chrome 中收到一条错误消息 - live demo: jsfiddle.net/zzcYH/1
标签: javascript google-chrome-devtools