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
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 depuis Error.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)

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight, teoli, Jeremie, Delapouite, matteodelabre
 Dernière mise à jour par : SphinxKnight,