InternalError

Non standard: Cette fonctionnalité n'est ni standard, ni en voie de standardisation. Ne l'utilisez pas pour des sites accessibles sur le Web : elle ne fonctionnera pas pour tout utilisateur. Il peut également y avoir d'importantes incompatibilités entre les implémentations et son comportement peut être modifié dans le futur.

L'objet InternalError indique qu'une erreur interne liée au moteur JavaScript s'est produite. De telles erreurs se produisent généralement au dépassement d'un seuil, par exemple :

  • « trop de cas pour le switch » ;
  • « trop de parenthèses dans l'expression rationnelle » ;
  • « initialisateur de tableau trop grand » ;
  • « trop de niveaux de récursion ».

Constructeur

InternalError()

Crée un nouvel objet InternalError.

Propriétés des instances

InternalError.prototype.message

Message d'erreur, hérité depuis Error.

InternalError.prototype.name

Nom d'erreur, hérité depuis Error.

InternalError.prototype.fileName

Le chemin du fichier qui a déclenché cette erreur, hérité depuis Error.

InternalError.prototype.lineNumber

Le numéro de la ligne du fichier qui a déclenché cette erreur, hérité depuis Error.

InternalError.prototype.columnNumber

Le numéro de colonne de la ligne du fichier qui a déclenché cette erreur, hérité depuis Error.

InternalError.prototype.stack

La pile d'appels, héritée depuis Error.

Exemples

Trop de niveau de récursion

Cette fonction récursive s'appelle 10 fois, comme indiquée par la condition d'arrêt.

js
function boucle(x) {
  if (x >= 10) {
    // "x >= 10" représente la condition d'arrêt
    return;
  }
  // faire des trucs
  boucle(x + 1); // l'appel récursif
}
boucle(0);

En changeant cette condition avec une valeur extrêmement grande, cela ne fonctionnera plus :

js
function boucle(x) {
  if (x >= 1000000000000) {
    return;
  }
  // faire des trucs
  boucle(x + 1);
}
boucle(0);

// InternalError: too much recursion

Pour plus d'informations, voir la page sur InternalError: too much recursion.

Spécifications

Cet objet ne fait partie d'aucune spécification.

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi