Repolode
ehmicky

ehmicky/modern-errors

一个 JavaScript/TypeScript 错误处理库,用于创建错误类、包装与聚合错误,并规范化无效异常。

Star
1,487
Fork
20
未关闭 Issue
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 或浏览器库定义一套共享的错误类。
  • 在模块边界区分预期的用户输入错误与意外的程序缺陷。
  • 在错误向上层传递时补充上下文信息。
  • 借助 serialize 插件将错误序列化为 JSON 并还原。

快速上手

  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 最近一次提交是在 2026年10月13日。
modern-errors 适合用来做什么?
为 Node.js 或浏览器库定义一套共享的错误类。 在模块边界区分预期的用户输入错误与意外的程序缺陷。 在错误向上层传递时补充上下文信息。 借助 serialize 插件将错误序列化为 JSON 并还原。
modern-errors 怎么安装和运行?
使用 npm 安装该库: npm install modern-errors 使用 ModernError.subclass 创建错误类并在需要处导入
在哪里获取 modern-errors?
源代码和安装说明在 GitHub 上:https://github.com/ehmicky/modern-errors

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目