SyntaxError
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
Facultatif- Une description, lisible par un humain, de l'erreur.
nomFichier
Facultatif- Le nom du fichier contenant le code provoquant l'erreur.
numLigne
Facultatif- Le numéro de la ligne du code qui a provoqué l'exception.
Propriétés
SyntaxError.prototype
(en-US)- 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
Bien que le prototype de SyntaxError
ne possède pas de méthodes directes, les instances de SyntaxError
héritent de certaines méthodes via la chaîne de prototypes.
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 (ECMA-262) La définition de 'SyntaxError' dans cette spécification. |
Standard évolutif |
Compatibilité des navigateurs
BCD tables only load in the browser