@dotcom-reliability-kit/crash-handler

中文文档
6.0.3发布于 2026/11/11MITTypeScriptES Module近 30 天下载 2959

绑定未发现的例外处理器的方法,以确保记录致命的应用程序错误

中文使用文档
文档目录8 节
  1. 使用量
  2. registerCrashHandler
  3. 配置选项
  4. 兼容性
  5. 从哨兵中迁移
  6. 移动
  7. 捐款
  8. 许可证

@dotcom - 可靠性- kit/ crash- handler

绑定未发现的例外处理器的方法,以确保致命的应用错误被记录. 它取代了哨兵致命错误记录。 此模块是 FT.com 可靠性工具包。 。 。 .

使用量

安装 @dotcom-reliability-kit/crash-handler 作为依附关系:

npm install --save @dotcom-reliability-kit/crash-handler

在代码中包含 :

import registerCrashHandler from '@dotcom-reliability-kit/crash-handler';

[TIP] 如果您使用此软件包并带有 TypeScript , 我们建议您使用以下设置: tsconfig.json 避免类型错误的文件 :

{
    "esModuleInterop": true,
    "module": "nodenext",
    "moduleResolution": "nodenext"
}

registerCrashHandler

这个 registerCrashHandler 函数可用于将事件处理器绑定到 节点.js process.uncaughtException 事件。这可以确保应用程序在意外出错或承诺拒绝时崩溃前记录最后消息.

此功能只应在您的app中被调用一次, 通常与您的所有设置代码( 如创建 Express app) 并列 .

[TIP]
这不是一项要求,但一般来说,登记一个未发现的例外处理器越早越好 — — 你越早登记,就越有可能发现未发现的例外.

registerCrashHandler();

如果出错会崩溃您的应用程序, 错误信息会被登录, 然后进程会以 : process.exitCode 或者说 1。 。 。 .

配置选项

配置选项可以传递到 registerCrashHandler 函数作为对象,并带有下面的任何键.

registerCrashHandler({
    // Config options go here
});

options.logger

一个执行两种方法的日志对象, error 财务报告和审定财务报表 warn,具有下列允许签字:

type LogMethod = (...logData: any) => any;

这直接传递到相关的日志错误方法上, 详见该套件的文档。 。 。 .

options.process

这个 节点.js 进程 对象将错误处理事件绑定为。 如果您正在使用儿童进程, 或者想要在测试中嘲笑进程对象, 您可以使用此程序 .

registerCrashHandler({
    process: myProcessObject
});

兼容性

从哨兵中迁移

可靠性 Kit 相撞处理器是 Sentry 未发现的例外处理器的替换, 您的应用程序可能正在使用它 。 为了使用这个模块,你需要离开哨兵. 我们对此有一套移民指南。 。 。 .

移动

咨询 移徙指南 如果你想要迁移到这个软件包的后期主要版本.

捐款

见 可靠性工具包中心贡献指南。 。 。 .

许可证

凭 麻省理工学院 执照.
版权:"2022","金融时报"有限公司.

版本与发布记录

@dotcom-reliability-kit/crash-handler 共发布 63 个版本,首次发布于 2022/10/21;过去 12 个月发布了 8 个版本。

版本发布日期距今
6.0.3latest2026/11/112 天前
6.0.22026/08/202 个月前
6.0.12026/07/144 个月前
6.0.02026/06/234 个月前
6.0.0-beta.1prerelease2026/06/035 个月前
5.1.82026/03/128 个月前

关于 @dotcom-reliability-kit/crash-handler 的常见问题

@dotcom-reliability-kit/crash-handler 是什么?

绑定未发现的例外处理器的方法,以确保记录致命的应用程序错误

如何安装 @dotcom-reliability-kit/crash-handler?

在项目目录运行 npm install @dotcom-reliability-kit/crash-handler,或使用 pnpm add / yarn add / bun add。

@dotcom-reliability-kit/crash-handler 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dotcom-reliability-kit/crash-handler 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@dotcom-reliability-kit/crash-handler 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js ^22.12 || ^24 || ^26。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@dotcom-reliability-kit/crash-handler 可以商用吗?

@dotcom-reliability-kit/crash-handler 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@dotcom-reliability-kit/crash-handler 的下载量有多少?

根据 npm 官方下载统计,@dotcom-reliability-kit/crash-handler 在 2026/10/13 – 2026/11/11 这 30 天内被下载 2,959 次,日均约 99 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dotcom-reliability-kit/crash-handler 还在维护吗?

最新版本 6.0.3 发布于 2026/11/11(2 天前);至今共发布 63 个版本,其中过去 12 个月发布了 8 个;首次发布于 2022/10/21。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。