TGViewer
Node.js Recipes Node.js Recipes @node_recipes · 3.1K subscribers
Post #297 1.84K
Что нужно знать об Error stack trace?
#nodejs_api

В JavaScript есть встроенный объект Error, который сохраняет stack trace (на русском трассировка стека). Так называется список методов, которые были вызваны до момента, когда в приложении произошло ошибка. Он доступен как error.stack и выглядит так:
Error: Things keep happening!
at /home/user/file.js:525:2
at Frobnicator.refrobulate (/home/user/business-logic.js:424:21)
at Actor.<anonymous> (/home/user/actors.js:400:8)
at increaseSynergy (/home/user/actors.js:701:6)

Плохой практикой является использование throw c литералами или объектами не наследниками Error. У них не будет stack trace.

По умолчанию длина стэка ограничена 10 методами. Параметр можно изменить на уровне кода через Error.stackTraceLimit. На уровне v8 существует флаг --stack-trace-limit. Его можно передать как аргумент или через переменную окружения NODE_OPTIONS=--stack-trace-limit=10

Начиная с 12-ой версии Node.js у нас есть поддержка Async Stack Traces. Пример stack trace:
Error: Oops
at bar (/workspace/test.js:11:9)
at async run (/workspace/test.js:5:3)
Для поддержки этих stack trace рекомендуется делать await перед return. Подробней в nodebestpractices.

Если код скомпилирован с помощью babel или typescript, то правильным будет показывать stack trace для исходного кода, а не скомпилированного. Для этого использовался пакет source-map-support. Под капотом идет использование Error.prepareStackTrace. Однако сейчас Node.js умеет это делать из коробки с помощью флага --enable-source-maps
  • 👍 3
More from @node_recipes
  1. Jan 5, 2026По всьому світу проходять Cursor Meetups, де локальні спільноти діляться досвідом використ…
  2. Jan 5, 2026Думки на вихідних: Full Stack Learning Подивився останнє відео Сергія Немчинського про фул…
  3. Dec 31, 2025Залишаються лічені години 2025-го. І будьмо чесними: сам перехід на 2026-й нічого автомати…
  4. Dec 25, 2025Моє відкриття 2025 року, як доповідача, це Napkin.ai. На малюнку приклад того, як Napkin г…
  5. Dec 23, 2025А ось й ChatGPT додав 2025 review feature. Авжеж в мене half coded Nest.js app, як ще :)
  6. Dec 23, 2025Моє технічне відкриття 2025 року — centrifugal.dev У 2025-му я багато працював із реальним…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →