Поддерживает ли Chrome свойство lineNumber для объектов ошибок?
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 ответ
Я не думаю, что вы что-то здесь упускаете. Если V8 (движок JavaScript в Chrome) на каком-то этапе поддерживал его, то, похоже, в настоящий момент этого не происходит, поэтому я полагаю, что это подпадает под MDN "... поведение может измениться в будущем". Кроме того, помните, что MDN редактируется совместными усилиями, просто он всегда мог ошибаться, поддерживая его в Chrome.
Как говорится на странице MDN, lineNumber
или что-то подобное не в спецификации.
Учитывая, что ни один из нас не видит никаких признаков того, что V8 поддерживает его, я исправил статью MDN.