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 文档是否已过时,或者我是否遗漏了某些内容?
最佳答案
我认为你没有遗漏任何东西。如果 V8(Chrome 的 JavaScript 引擎)在某个阶段支持它,那么目前看来肯定不支持,所以我猜这属于 MDN 的“……行为将来可能会改变”。或者,请记住 MDN 是协作编辑的,Chrome 支持它可能总是错误的。
正如 MDN 页面所说,lineNumber
或类似的内容是 not in the spec .
鉴于我们都没有看到任何 V8 支持它的迹象,我更正了 MDN 文章。
关于javascript - Chrome 是否支持错误对象上的 lineNumber 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34565139/