为什么Firebug没有显示“未捕获类型错误”#39;对于未定义的属性?

时间:2014-08-29 19:22:27

标签: javascript google-chrome firebug error-reporting

我通常使用Firebug进行开发,但最近我的一些脚本一直在默默地失败。在追踪错误数小时后,我发现我试图获取未定义变量的属性。控制台没有错误,页面只是“破了”。但是,在Chrome DevTools中,它可以正确识别错误。这是一个简单的测试用例:

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

所以在一个真实的脚本中,当发生这种情况时,我很难跟踪我的脚本停止的位置,并且我必须添加大量的控制台日志记录以缩小错误。

这是一个错误,或者某种方式是Firebug的预期行为,或者可能有我可以调整的设置?我正在使用2.0.3。

1 个答案:

答案 0 :(得分:1)

您需要检查Console panel options menu中的显示JavaScript错误选项。

Show JavaScript Errors option

如您所见,这使控制台正确记录错误消息。