2015-01-15 100 views
0

我一直在遇到Chrome开发控制台的问题。控制台说有一个JavaScript错误,它告诉我这个数字。但问题是,很多时候,它所指的行号与我的代码中的错误完全不相关。Chrome的开发控制台说错误的行号有错误

例如,目前,我有一个错误,说Uncaught TypeError: Cannot read property 'Title' of undefined,这是可以理解的。但是,当控制台试图告诉我错误发生的行号时,该行从来没有首先调用变量Title。为什么它引用该行号?见下图:

Image of Chrome's development console error that references a line number that has nothing to do with the line number

在上图中,线#83在我的代码有什么用Cannot read property 'Title' of undefined.这样做,我不知道在哪里,因为在我的代码多次ocured错误,我称之为字段名为Title

编辑:我在Internet Explorer 10(screenshot)上也试过,它给了我正确的行号。也许这是谷歌方面的一个小故障。

回答

1

它可能不是一个准确的线,而是一段代码导致的问题,一些调试器(可能包括铬)并不总是100%准确,并可能引用你的块或段导致问题的代码。在这种情况下,它看起来像问题是与lastCharacter = allObjs[allObjs.length -1].Title]...是在同一个分段中。

如果发生错误并且它与行号不一致,我会建议在该段上设置一些断点并查看结果是什么或控制台日志记录.Title其中在该代码块中使用它。

+0

我认为你是对的,它是Chrome的解释器。因为我在Internet Explorer上也尝试了这种方法,它给了我一个准确的数字(请参阅我的原始文章中的编辑)。 – AskYous 2015-01-15 17:06:41

+0

我正在从Firefox迁移过程中。我注意到,在识别源代码中的行号比Chrome中更准确。 Chrome曾多次被9条以上的产品线关闭。这非常令人沮丧。 – 2017-06-15 18:37:59