InternalError

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

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

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

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

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

Конструктор

InternalError() Non-standard

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

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

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

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

InternalError.prototype.constructor

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

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

Смотрите также