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.
nomFichier Facultatif Cette API n'a pas été standardisée.
Le nom du fichier contenant le code provoquant l'erreur.
numLigne Facultatif Cette API n'a pas été standardisée.
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 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

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

Voir aussi