Spec-Zone.ru › JavaScript

Error.stackTraceLimit

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

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

Примечание: Эта функция является частью текущего нестандартного V8 API трассировки стека. Однако по соображениям совместимости она также реализована в JavaScriptCore.

Статическое свойство данных Error.stackTraceLimit указывает максимальное количество кадров стека, захватываемых трассировкой стека ошибки. Оно может быть установлено пользовательским кодом для изменения поведения движка.

В целом, чтение этого свойства не очень полезно, но вы можете установить для него новое значение. Установка большего значения может быть полезна для отладки, поскольку это позволяет увидеть большую часть стека вызовов. Установка меньшего значения может повысить производительность, так как уменьшает объем захватываемого стека.

Значение

Целое число, представляющее максимальное количество кадров стека, захватываемых трассировкой стека ошибки.

Атрибуты свойства Error.stackTraceLimit
Записываемое да
Перечислимое да
Конфигурируемое да

Описание

Поскольку stackTraceLimit является статическим свойством Error, вы всегда используете его как Error.stackTraceLimit, а не как свойство созданного вами объекта Error. Если вы хотите настроить трассировку стека только для одной ошибки, вам может потребоваться установить свойство, создать ошибку, а затем сбросить свойство до его исходного значения.

Примеры

Установка Error.stackTraceLimit

Этот код безопасно выполнять даже в средах, которые не поддерживают Error.stackTraceLimit, потому что он не считывает свойство, а только устанавливает его, и движки, которые его не поддерживают, проигнорируют эту установку.

Error.stackTraceLimit = 2;
const a = () => b();
const b = () => c();
const c = () => d();
const d = () => e();
const e = () => {
  throw new Error("My error");
};
try {
  a();
} catch (e) {
  console.log(e.stack);
}
// Only two frames in supporting engines; all frames in others

Спецификации

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

Desktop Mobile Server
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
stackTraceLimit
3
79
153
15
11.1
18
153
14
11.3
1.0
4.4
11.3
1.0.0
Нет
16.17.0

См. также

  • Error.prototype.stack
  • Error.captureStackTrace()
  • API трассировки стека в документации V8

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/stackTraceLimit

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API