InternalError

Не стандартно: Эта возможность не является стандартной и стандартизировать её пока никто не собирается. Не используйте её на сайтах, смотрящих во внешний мир: она будет работать не у всех пользователей. Также могут присутствовать большие несовместимости между реализациями и её поведение может в будущем измениться.

Объект InternalError представляет ошибку, возникающую внутри движка JavaScript.

В основном такие ошибки связаны с тем, что что-то слишком велико, например:

  • "too many switch cases",
  • "too many parentheses in regular expression",
  • "array initializer too large",
  • "too much recursion".

InternalError является подклассом Error.

Конструктор

InternalError() (en-US) Non-standard

Создаёт новый объект InternalError.

Свойства экземпляра

Также наследует свойства экземпляра своего родителя Error.

Эти свойства определены в InternalError.prototype и есть у всех экземпляров InternalError.

InternalError.prototype.constructor

Функция-конструктор, создающая экземпляр объекта. Для экземпляров InternalError начальным значением является конструктор InternalError (en-US).

InternalError.prototype.name

Представляет название типа ошибки. Начальным значением InternalError.prototype.name является "InternalError".

Методы экземпляра

Наследует методы экземпляра своего родителя Error.

Примеры

Слишком глубокая рекурсия

Эта рекурсивная функция выполняется 10 раз в соответствии с условием выхода.

js
function loop(x) {
  // условие выхода из функции
  if (x >= 10) return;

  // рекурсивный вызов
  loop(x + 1);
}

loop(0);

Установка для этого условия чрезвычайно высокого значения может не сработать:

js
function loop(x) {
  if (x >= 1000000000000) return;

  loop(x + 1);
}

loop(0);

// InternalError: too much recursion

Для получения дополнительной информации смотрите InternalError: too much recursion.

Specifications

Не является частью какого-либо стандарта.

Совместимость с браузерами

BCD tables only load in the browser

See also