L'objet SyntaxError
représente une erreur qui se produit lors de l'interprétation d'un code dont la syntaxe est invalide.
Description
Une exception SyntaxError
est levée lorsque le moteur JavaScript rencontre des entités lexicales invalide ou dans un ordre invalide par rapport à la grammaire du langage.
Syntaxe
new SyntaxError([message[, nomFichier[, numLigne]]])
Paramètres
message
- Paramètre optionnel. Une description, lisible par un humain, de l'erreur.
nomFichier
- Paramètre optionnel. Le nom du fichier contenant le code provoquant l'erreur.
numLigne
- Paramètre optionnel. Le numéro de la ligne du code qui a provoqué l'exception.
Propriétés
SyntaxError.prototype
- Cette méthode permet d'ajouter des propriétés aux instance de
SyntaxError
.
Méthodes
L'objet global SyntaxError
ne contient pas de méthodes directes. En revanche, il hérite de méthodes grâce à sa chaîne de prototypes.
Instances de SyntaxError
Propriétés
SyntaxError.prototype.constructor
- Définit la fonction qui a créé le prototype d'une instance.
SyntaxError.prototype.message
- Un message d'erreur. Bien que ECMA-262 définisse que
SyntaxError
doit avoir une propriétémessage
en propre, dans SpiderMonkey, elle est héritée depuisError.prototype.message
. SyntaxError.prototype.name
- Un nom d'erreur. Propriété héritée depuis
Error
. SyntaxError.prototype.fileName
- Le chemin du fichier qui a causé l'erreur. Propriété héritée depuis
Error
. SyntaxError.prototype.lineNumber
- Le numéro de la ligne du fichier qui a causé l'erreur. Propriété héritée depuis
Error
. SyntaxError.prototype.columnNumber
- Le numéro de la colonne dans la ligne qui a causé l'erreur. Propriété héritée depuis
Error
. SyntaxError.prototype.stack
- La pile d'appels (stack trace). Propriété héritée depuis
Error
.
Méthodes
Exemples
Intercepter une exception SyntaxError
try { eval('toto truc'); } 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" }
Créer une exception SyntaxError
try { throw new SyntaxError('Coucou', 'unFichier.js', 10); } catch (e) { console.log(e instanceof SyntaxError); // true console.log(e.message); // "Coucou" console.log(e.name); // "SyntaxError" console.log(e.fileName); // "unFichier.js" console.log(e.lineNumber); // 10 console.log(e.columnNumber); // 0 console.log(e.stack); // "@Scratchpad/2:11:9\n" }
Spécifications
Spécification | Statut | Commentaires |
---|---|---|
ECMAScript 3rd Edition (ECMA-262) | Standard | Définition initiale. |
ECMAScript 5.1 (ECMA-262) La définition de 'SyntaxError' dans cette spécification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'SyntaxError' dans cette spécification. |
Standard | |
ECMAScript 2016 Draft (7th Edition, ECMA-262) La définition de 'SyntaxError' dans cette spécification. |
Projet |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | (Oui) | (Oui) | (Oui) | (Oui) | (Oui) |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | (Oui) | (Oui) | (Oui) | (Oui) | (Oui) | (Oui) |