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
104
105
106
107
108
109
110
111
112
113
114
115
|
---
title: RangeError
slug: Web/JavaScript/Reference/Global_Objects/RangeError
tags:
- Error
- JavaScript
- RangeError
- Reference
translation_of: Web/JavaScript/Reference/Global_Objects/RangeError
original_slug: Web/JavaScript/Reference/Objets_globaux/RangeError
---
{{JSRef}}
L'objet **`RangeError`** permet d'indiquer une erreur lorsqu'une valeur fournie n'appartient pas à l'intervalle autorisé.
## Syntaxe
new RangeError([message[, nomFichier[, numLigne]]])
### Paramètres
- `message`
- : Paramètre optionnel. Une description lisible (humainement) de l'erreur.
- `nomFichier` {{non-standard_inline}}
- : Paramètre optionnel. Le nom du fichier contenant le code à l'origine de cette exception.
- `numLigne `{{non-standard_inline}}
- : Paramètre optionnel. Le numéro de la ligne du code à l'origine de cette exception.
## Description
Une exception `RangeError` est levée lorsqu'une valeur est passée comme argument à une fonction qui n'accepte pas de valeurs dans cet intervalle. Par exemple, cela peut être le cas quand on souhaite créer un tableau avec une longueur illégale via {{jsxref("Array")}} ou lorsqu'on passe des valeurs incorrectes aux méthodes {{jsxref("Number.toExponential()")}}, {{jsxref("Number.toFixed()")}} ou {{jsxref("Number.toPrecision()")}}. Cette exception n'est pas limitée aux problèmes d'intervalles numériques et peuvent également se produire lorsqu'on passe une valeur non autorisée à {{jsxref("String.prototype.normalize()")}}.
## Propriétés
- {{jsxref("RangeError.prototype")}}
- : Cette propriété permet d'ajouter des propriétés à toutes les instances de `RangeError`.
## Méthodes
L'objet global `RangeError` ne contient pas de méthodes propres mais héritent de certaines méthodes via la chaîne de prototypes.
## Instances de `RangeError`
### Propriétés
{{ page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/RangeError/prototype','Properties') }}
### Méthodes
{{ page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/RangeError/prototype','Methods') }}
## Exemples
### Utiliser `RangeError`
```js
var MIN = 200;
var MAX = 300;
var vérifier = function( num ) {
if( num < MIN || num > MAX ) {
throw new RangeError( "Le paramètre doit être compris entre " + MIN + " et " + MAX );
}
};
try {
vérifier(500);
}
catch (e) {
if (e instanceof RangeError ){
// On gère ce qui se passe en cas d'erreur
}
}
```
### Utiliser `RangeError` avec des valeurs non-numériques
```js
function verifier(valeur){
if(["pomme", "banane", "carotte"].includes(valeur) === false){
throw new RangeError("L'argument n'est pas un fruit parmi pomme / banane ou carotte.");
}
}
try {
verifier("chou");
}
catch(erreur) {
if(erreur instanceof RangeError){
//On gère ce qui se passe en cas d'erreur
}
}
```
## Spécifications
| Spécification | État | Commentaires |
| -------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- |
| {{SpecName('ES3')}} | {{Spec2('ES3')}} | Définition initiale. |
| {{SpecName('ES5.1', '#sec-15.11.6.2', 'RangeError')}} | {{Spec2('ES5.1')}} | |
| {{SpecName('ES6', '#sec-native-error-types-used-in-this-standard-rangeerror', 'RangeError')}} | {{Spec2('ES6')}} | |
| {{SpecName('ESDraft', '#sec-native-error-types-used-in-this-standard-rangeerror', 'RangeError')}} | {{Spec2('ESDraft')}} | |
## Compatibilité des navigateurs
{{Compat("javascript.builtins.RangeError")}}
## Voir aussi
- {{jsxref("Error")}}
- {{jsxref("Array")}}
- {{jsxref("RangeError.prototype")}}
- {{jsxref("Number.toExponential()")}}
- {{jsxref("Number.toFixed()")}}
- {{jsxref("Number.toPrecision()")}}
- {{jsxref("String.prototype.normalize()")}}
|