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"
}

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

Specification
ECMAScript Language Specification (ECMAScript)
# sec-native-error-types-used-in-this-standard-syntaxerror

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

BCD tables only load in the browser

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