SyntaxError

Сводка

Объект SyntaxError представляет ошибку, возникающую при попытке интерпретировать синтаксически неправильный код.

Синтаксис

new SyntaxError([message[, fileName[, lineNumber]]])

Параметры

message
Необязательный параметр. Человеко-читаемое описание ошибки.
fileName
Необязательный параметр. Имя файла, содержащего код, вызвавший исключение.
lineNumber
Необязательный параметр. Номер строки кода, вызвавшей исключение.

Описание

Исключение SyntaxError выбрасывается, когда движок JavaScript при разборе кода обнаруживает токены или токен, которые, согласно синтаксису, не должны здесь находиться.

Свойства

SyntaxError.prototype (en-US)
Позволяет добавлять свойства в объект SyntaxError.

Методы

Глобальный объект SyntaxError не содержит собственных методов, однако, он наследует некоторые методы из цепочки прототипов.

Экземпляры объекта SyntaxError

Свойства

{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError/prototype', 'Properties')}}

Методы

{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError/prototype', 'Methods')}}

Примеры

Пример: перехват исключения SyntaxError

try {
  eval('hoo bar');
} catch (e) {
  console.log(e instanceof SyntaxError); // true
  console.log(e.message);                // "missing ; before statement" - перед инструкцией отсутствует символ ;
  console.log(e.name);                   // "SyntaxError"
  console.log(e.fileName);               // "Scratchpad/1"
  console.log(e.lineNumber);             // 1
  console.log(e.columnNumber);           // 4
  console.log(e.stack);                  // "@Scratchpad/1:2:3\n"
}

Пример: возбуждение исключения SyntaxError

try {
  throw new SyntaxError('Привет', 'someFile.js', 10);
} catch (e) {
  console.log(e instanceof SyntaxError); // true
  console.log(e.message);                // "Привет"
  console.log(e.name);                   // "SyntaxError"
  console.log(e.fileName);               // "someFile.js"
  console.log(e.lineNumber);             // 10
  console.log(e.columnNumber);           // 0
  console.log(e.stack);                  // "@Scratchpad/2:11:9\n"
}

Спецификации

Спецификация Статус Комментарии
ECMAScript 3-е издание. Стандарт Изначальное определение.
ECMAScript 5.1 (ECMA-262)
Определение 'SyntaxError' в этой спецификации.
Стандарт  
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'SyntaxError' в этой спецификации.
Стандарт  

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также