Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

InternalError

Non standard: Cette fonctionnalité n'est pas standardisée. Nous déconseillons d'utiliser des fonctionnalités non standard en production, car leur prise en charge par les navigateurs est limitée, et elles peuvent être modifiées ou supprimées. Toutefois, elles peuvent constituer une alternative appropriée dans certains cas où aucune option standard n'existe.

L'objet InternalError indique une erreur qui s'est produite en interne dans le moteur JavaScript.

Les cas d'exemple concernent principalement des situations où quelque chose est trop grand, 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 ».

InternalError est une sous-classe de Error.

Constructeur

InternalError() Non standard

Crée un nouvel objet InternalError.

Propriétés d'instance

Hérite aussi des propriétés d'instance de son parent Error.

Ces propriétés sont définies sur InternalError.prototype et partagées par toutes les instances de InternalError.

InternalError.prototype.constructor

La fonction constructeur qui a créé l'objet d'instance. Pour les instances de InternalError, la valeur initiale est le constructeur InternalError.

InternalError.prototype.name

Représente le nom du type d'erreur. Pour InternalError.prototype.name, la valeur initiale est "InternalError".

Méthodes d'instance

Hérite des méthodes d'instance de son parent 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) {
  // "x >= 10" représente la condition d'arrêt
  if (x >= 10) 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

Ne fait partie d'aucun standard.

Compatibilité des navigateurs

Voir aussi