El objeto SyntaxError representa un error cuando se trata de interpretar codigo sintacticamente invalido.

Descripción

Un SyntaxError es lanzado cuando el motor de JavaScript se encuentra con partes de código que no forman parte de la sintaxtis del lenguaje al momento analizar el código.

Sintaxis

new SyntaxError([mensaje[, nombreArchivo[, numeroLinea]]])

Parametros

mensaje
Opcional. Descripción legible del error.
nombreArchivo
Opcional. El nombre del archivo que contiene el código que causó la excepción.
numeroLinea
Opcional. El numero de linea del código que causó la excepción.

Propiedades

SyntaxError.prototype
Permite el agregado de propiedades al objeto SyntaxError.

Metodos

El objeto global SyntaxError no contiene metodos propios, sin embargo, hereda algunos metodos debido a la cadena de prototipos.

Instancias de SyntaxError

Propiedades

SyntaxError.prototype.constructor
Especifica la funcion que creó una instancia del prototipo.
SyntaxError.prototype.message
Mensaje de error. A pesar de que ECMA-262 especifica que SyntaxError debe proveer su propia propiedad message , en SpiderMonkey, es heredada de Error.prototype.message.
SyntaxError.prototype.name
Error name. Inherited from Error.
SyntaxError.prototype.fileName
Ruta al archivo que produjo el error. Heredada de Error.
SyntaxError.prototype.lineNumber
Numero de linea en el archivo que produjo el error. Heredada de Error.
SyntaxError.prototype.columnNumber
Numero de columna en la linea que produjo el error. Heredada de Error.
SyntaxError.prototype.stack
Stack trace. Heredada de Error.

Metodos

A pesar de que el objeto prototipo de SyntaxError no contiene metodos propios, las instancias de SyntaxError heredan algunos metodos debido a la cadena de prototipos.

Ejemplos

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

Creando un SyntaxError

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

Especificaciones

Specification Status Comment
ECMAScript 3rd Edition (ECMA-262) Standard Initial definition.
ECMAScript 5.1 (ECMA-262)
La definición de 'SyntaxError' en esta especificación.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
La definición de 'SyntaxError' en esta especificación.
Standard  
ECMAScript Latest Draft (ECMA-262)
La definición de 'SyntaxError' en esta especificación.
Draft  

Compatibilidad con Navegarores

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Véase también

Etiquetas y colaboradores del documento

Colaboradores en esta página: BubuAnabelas
Última actualización por: BubuAnabelas,