Chrome是否支持错误对象的lineNumber属性?

时间:2016-01-02 11:03:00

标签: javascript google-chrome line-numbers

MDN声称Chrome支持处理错误中的非标准属性Error.prototype.lineNumber "错误对象。" 。我摆弄了一下,但无法验证这一点。



try
{
  throw new Error;
}
catch (error)
{
  alert('lineNumber is ' + error.lineNumber);
}




运行上面的代码段时,只有Firefox将error.lineNumber设置为数字值。 Safari使用类似的非标准属性error.line,而Chrome似乎根本没有任何类似的功能。我知道如果你解析它的行号在stack,并且有些库可以提取它,但是不清楚会让我烦恼。

MDN文档是否已过时或我在这里遗漏了什么?

1 个答案:

答案 0 :(得分:3)

我不认为你在这里遗漏任何东西。如果V8(Chrome的JavaScript引擎)在某个阶段支持它,它当前肯定不会,所以我猜这属于MDN的“......行为可能在未来发生变化。”或者,请记住MDN是经过协作编辑的,Chrome支持它可能总是错误的。

正如MDN页面所说,lineNumber或类似的内容是not in the spec

鉴于我们都没有看到V8支持它的任何迹象,我已经更正了MDN文章。