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
messageFacultatif- Une description, lisible par un humain, de l'erreur.
nomFichierFacultatif- Le nom du fichier contenant le code provoquant l'erreur.
numLigneFacultatif- 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
SyntaxErrordoit avoir une propriétémessageen 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