Поддерживает ли 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.

Другие вопросы по тегам