SyntaxError
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(en-US)- 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
SyntaxErrordebe proveer su propia propiedadmessage, en SpiderMonkey, es heredada deError.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(en-US)- Numero de columna en la linea que produjo el error. Heredada de
Error. SyntaxError.prototype.stack(en-US)- 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 (ECMA-262) La definición de 'SyntaxError' en esta especificación. |
Living Standard |
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! (en-US)
| 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) |