aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/javascript/reference/global_objects/syntaxerror/index.md
blob: 8e02ba78e116ab2f811352cc2019a66bc9be5d0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
---
title: SyntaxError
slug: Web/JavaScript/Reference/Global_Objects/SyntaxError
tags:
  - Error
  - JavaScript
  - Object
  - Reference
  - SyntaxError
translation_of: Web/JavaScript/Reference/Global_Objects/SyntaxError
original_slug: Web/JavaScript/Reference/Objets_globaux/SyntaxError
---
{{JSRef}}

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`{{optional_inline}}
  - : Une description, lisible par un humain, de l'erreur.
- `nomFichier` {{optional_inline}}{{non-standard_inline}}
  - : Le nom du fichier contenant le code provoquant l'erreur.
- `numLigne` {{optional_inline}}{{non-standard_inline}}
  - : Le numéro de la ligne du code qui a provoqué l'exception.

## Propriétés

- {{jsxref("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

{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/SyntaxError/prototype', 'Propriétés')}}

### Méthodes

{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/SyntaxError/prototype', 'Méthodes')}}

## Exemples

### Intercepter une exception `SyntaxError`

```js
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`

```js
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         |
| ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------- | -------------------- |
| {{SpecName('ES3')}}                                                                                                             | {{Spec2('ES3')}}         | Définition initiale. |
| {{SpecName('ES5.1', '#sec-15.11.6.4', 'SyntaxError')}}                                                             | {{Spec2('ES5.1')}}     |                      |
| {{SpecName('ES6', '#sec-native-error-types-used-in-this-standard-syntaxerror', 'SyntaxError')}}     | {{Spec2('ES6')}}         |                      |
| {{SpecName('ESDraft', '#sec-native-error-types-used-in-this-standard-syntaxerror', 'SyntaxError')}} | {{Spec2('ESDraft')}} |                      |

## Compatibilité des navigateurs

{{Compat("javascript.builtins.SyntaxError")}}

## Voir aussi

- {{jsxref("Error")}}
- {{jsxref("SyntaxError.prototype")}}