Как создать ошибку в JavaScript - разумеется с помощью конструктора Error. В коде веб-сервисов на Node.js как правило используется функция-обработчик в которую прилетают все ошибки, где и происходит "магия" логгирования и прочая кастомная логика обработки ошибок. Сегодня расскажу как присвоить ошибке статус или иное кастомное свойство с помощью функции-фабрики и, самое главное, удалить упоминание о месте рождения ошибки из стека.
К примеру модуль создания ошибок по имени error.js выглядит так:
... и в процессе использования его в коде приложения:
... мы получаем запись о том, что ошибка появилась в модуле error.js, в стеке:
... а лечится это следующим образом:
... легким движением руки, брюки превращаются...:
Вот как-то так.
К примеру модуль создания ошибок по имени error.js выглядит так:
module.exports = function error(msg, status) { var err = new Error(msg); err.status = status || 500; return err; };
... и в процессе использования его в коде приложения:
var error = require('./error'); (function myFunction() { throw error('myError'); })();
... мы получаем запись о том, что ошибка появилась в модуле error.js, в стеке:
... а лечится это следующим образом:
module.exports = function error(msg, status) { var err = new Error(msg); err.status = status || 500; Error.captureStackTrace(err, error); return err; };
... легким движением руки, брюки превращаются...:
Вот как-то так.
Комментариев нет:
Отправить комментарий
Комментарий будет опубликован после модерации