为什么Firebug未显示未定义属性的“未捕获类型错误”?
问题描述:
我通常使用Firebug进行开发,但最近我的一些脚本一直在默默地失败。经过几个小时追踪错误,我发现我试图获得一个未定义变量的属性。控制台没有错误,页面刚刚“爆发”。但是,在Chrome DevTools中,它可以正确识别错误。这里是一个简单的测试案例:为什么Firebug未显示未定义属性的“未捕获类型错误”?
var x = {
i: {a:1,b:2}
}
在Chrome中你得到
console.log(x.i.a); //1
console.log(x.iii.a); //Uncaught TypeError:
//Cannot read property 'a' of undefined
console.log('finished'); //does not execute
在Firebug中你得到
console.log(x.i.a); //1
console.log(x.iii.a); //(nothing)
console.log('finished'); //does not execute
看到这个Fiddle。
因此,在一个真实的脚本中,当发生这种情况时,我非常难以跟踪脚本停止的位置,为了缩小错误,我必须添加大量的控制台日志记录。
这是一个错误,或者某种程度上的萤火虫的预期行为,或者可能有一个我可以调整的设置?我正在使用2.0.3。
本机Firefox调试器显示错误就好了。 – epascarello 2014-08-29 19:29:22
萤火虫接管正常控制台(http://*.com/questions/8212373/firefox-web-console-disabled),所以我不能使用它,也不想。 – chiliNUT 2014-08-29 20:37:46
这并不坏...... :)如果你认为它是一个错误,请用Firebug编写一个错误。 – epascarello 2014-08-29 20:40:53