Repolode
ehmicky

ehmicky/modern-errors

Библиотека для обработки ошибок в JavaScript/TypeScript: создание классов ошибок, обёртывание и объединение ошибок, нормализация некорректных исключений.

Звёзды
1,487
Форки
20
Открытые issues
1
Последний коммит
9 дней назад

Что это?

modern-errors — это библиотека JavaScript для единообразной обработки ошибок в Node.js и браузерах. Вы можете определять классы ошибок с помощью простого API на основе наследования, добавлять к ошибкам пользовательские свойства и оборачивать внутреннюю ошибку во внешнюю, используя стандартную опцию cause и сохраняя сообщение, стек и информацию о классе внутренней ошибки.

Библиотека также нормализует некорректные выбрасываемые значения — например, строки или объекты, не являющиеся экземплярами Error, — преобразуя их в корректные экземпляры ошибок. Вызов BaseError.normalize() в точке входа модуля гарантирует, что каждая выброшенная ошибка будет корректной и относиться либо к известному классу, либо к классу UnknownError по умолчанию. Это помогает отделять ожидаемые сбои от ошибок в коде.

Функциональность можно расширить с помощью плагинов для сериализации, обработки CLI, форматирования стеков вызовов, HTTP-ответов с ошибками и логирования через Winston. Пакет является ES-модулем, имеет строгую типизацию TypeScript и требует Node.js версии 18.18.0 или выше.

Ключевые возможности

  • 01Создавайте классы ошибок с помощью простого API на основе наследования.
  • 02Добавляйте к ошибкам пользовательские свойства, в том числе внутренние свойства, не перечисляемые при обходе.
  • 03Оборачивайте внутренние ошибки с помощью стандартной опции cause, объединяя их сообщения и стеки вызовов.
  • 04Объединяйте несколько ошибок в одну, в том числе ошибки пользовательских классов.
  • 05Нормализуйте некорректные выбрасываемые значения, преобразуя их в корректные экземпляры ошибок.
  • 06Расширяйте поведение с помощью плагинов и строгой типизации TypeScript.

Сценарии использования

  • Определение общего набора классов ошибок для библиотеки Node.js или браузера.
  • Отделение ожидаемых ошибок пользовательского ввода от непредвиденных ошибок в коде на границе модуля.
  • Добавление контекста к ошибкам по мере их распространения между слоями кода.
  • Сериализация ошибок в JSON и их восстановление с помощью плагина serialize.

Быстрый старт

  1. 1

    Установите библиотеку с помощью npm

    npm install modern-errors
  2. 2

    Создайте классы ошибок с помощью ModernError.subclass и импортируйте их там, где они нужны

Что важно знать

  • Требуется Node.js версии 18.18.0 или новее.
  • Это только ES-модуль, его нельзя загрузить с помощью require().

Темы

Частые вопросы

Что такое modern-errors?
Библиотека для обработки ошибок в JavaScript/TypeScript: создание классов ошибок, обёртывание и объединение ошибок, нормализация некорректных исключений. modern-errors — это библиотека JavaScript для единообразной обработки ошибок в Node.js и браузерах. Вы можете определять классы ошибок с помощью простого API на основе наследования, добавлять к ошибкам пользовательские свойства и оборачивать внутреннюю ошибку во внешнюю, используя стандартную опцию cause и сохраняя сообщение, стек и информацию о классе внутренней ошибки.
modern-errors можно использовать бесплатно? Какая у него лицензия?
modern-errors распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
modern-errors всё ещё поддерживается?
Активно поддерживается. Последний коммит в modern-errors — 13 окт. 2026 г..
Для чего можно использовать modern-errors?
Определение общего набора классов ошибок для библиотеки Node.js или браузера. Отделение ожидаемых ошибок пользовательского ввода от непредвиденных ошибок в коде на границе модуля. Добавление контекста к ошибкам по мере их распространения между слоями кода. Сериализация ошибок в JSON и их восстановление с помощью плагина serialize.
Как установить modern-errors?
Установите библиотеку с помощью npm: npm install modern-errors Создайте классы ошибок с помощью ModernError.subclass и импортируйте их там, где они нужны
Где скачать modern-errors?
Исходный код и инструкции по установке — на GitHub: https://github.com/ehmicky/modern-errors

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Расширение для VSCode, которое делает сообщения об ошибках TypeScript понятнее: форматирует типы, подсвечивает синтаксис и добавляет ссылки на документацию и пояснения.

14,1 тыс.115TypeScriptMITОбновлён 32 минуты назад

Open-source инструмент для API- и интеграционного тестирования: записывает реальный трафик через eBPF и воспроизводит его в виде тестов и моков данных без изменений кода.

18,7 тыс.2,4 тыс.GoApache-2.0Обновлён 41 минуту назад