Печать трассировки стека в Node.js: основы и полезные библиотеки
Пройдите тест, узнайте какой профессии подходите
Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы
Быстрый ответ
Чтобы увидеть стек вызовов при ошибке в Node.js с помощью Error().stack
, необходимо написать следующую команду:
console.log(new Error().stack);
Данная команда выведет текущий стек вызовов в консоль.
Завершение
Модульность — основной принцип качественного кода. Для этого следует вынести логику отображения стека вызовов в отдельную функцию:
function printStackTrace() {
const stack = new Error().stack;
console.log(stack);
}
printStackTrace();
Таким образом, вы избежите ненужных дублирований кода.
Визуализация
Представьте себе стек вызовов в Node.js как след от пути, проложенного фрагментами хлеба, который помогает выбраться из густого леса вашего кода обратно к началу:
Старт: 🌲🌲[Вызов вашей функции]🌲🌲
|
|_ 🥖 [Функция A]
|
|_ 🥖 [Функция B]
|
|_ 🥖 [Функция C] 👈 Здесь сработало исключение!
Используйте стек вызовов, чтобы проследить своё возвращение к источнику ошибки:
Error.captureStackTrace(targetObject);
const stack = new Error().stack;
console.log(stack);
Путь к успешному решению проблемы проходит через воссоздание последовательности вашего стека вызовов!
Полезные материалы
- Node.js — Diagnostics – Flame Graphs — узнайте больше о обработке ошибок и о создании диагностических отчётов в Node.js.
- Stack trace API · V8 — официальное руководство по работе со стеком вызовов в JavaScript-движке Node.js.
- Node.js — Debugging – Getting Started — полное руководство от А до Я по отладке в Node.js.
- Error – JavaScript | MDN — подробная информация о объекте
Error
в JavaScript. - Winston: A logger for just about everything. — научитесь ведению профессионального журнала логов с помощью Winston, универсальной библиотеки логирования для Node.js.
- Node.js debugger — Node Inspector, ваш личный детективский набор для отладки Node.js.
- Errors | Node.js v21.6.1 Documentation — детали о создании и обработке пользовательских ошибок в официальной документации Node.js.