RangeError

L'objet RangeError permet d'indiquer une erreur lorsqu'une valeur fournie n'appartient pas à l'intervalle ou à l'ensemble de valeurs autorisées.

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 :

Constructeur

RangeError()

Crée un nouvel objet RangeError.

Propriétés des instances

RangeError.prototype.message

Un message d'erreur. Bien qu'ECMA-262 spécifie que RangeError devrait fournir sa propre propriété message, pour SpiderMonkey, celle-ci est héritée de Error.prototype.message.

RangeError.prototype.name

Le nom d'erreur. Hérité de Error.

RangeError.prototype.fileName

Le chemin vers le fichier qui a déclenché cette erreur. Héritée de Error.

RangeError.prototype.lineNumber

Le numéro de la ligne dans le fichier qui a déclenché cette erreur. Héritée de Error.

RangeError.prototype.columnNumber

Le numéro de la colonne dans la ligne du fichier qui a déclenché cette erreur. Héritée de Error.

RangeError.prototype.stack

La trace de la pile d'appel. Héritée de Error.

Exemples

Utiliser RangeError

js
const MIN = 200;
const MAX = 300;
function verifier(num) {
  if (num < MIN || num > MAX) {
    throw new RangeError(
      "Le paramètre doit être compris entre " + MIN + " et " + MAX,
    );
  }
}

try {
  verifier(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

Specification
ECMAScript Language Specification
# sec-native-error-types-used-in-this-standard-rangeerror

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi