# @dotcom-reliability-kit/crash-handler 中文文档

规范地址：https://npmcn.com/package/%40dotcom-reliability-kit/crash-handler/

版本：6\.0\.3
npm 元数据更新时间：2026-11-11T10:56:28.354Z
中文译文更新时间：2026-11-12T23:37:00.109Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40dotcom-reliability-kit/crash-handler
原文对照：https://npmcn.com/package/%40dotcom-reliability-kit/crash-handler/?lang=original
项目主页：https://github.com/Financial-Times/dotcom-reliability-kit/tree/main/packages/crash-handler#readme
源码仓库：https://github.com/Financial-Times/dotcom-reliability-kit

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：9.3 kB，7 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：^22\.12 \|\| ^24 \|\| ^26
- 运行依赖：2 个
- 首次发布：2022-10-21T11:53:44.907Z
- 最新版本发布：2026-11-11T10:56:28.116Z
- 近 30 天下载量：2959（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：63（近 12 个月 8 个）

## 中文简介

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

## 安装

```sh
npm install @dotcom-reliability-kit/crash-handler
```

也可以使用：`pnpm add @dotcom-reliability-kit/crash-handler`、`yarn add @dotcom-reliability-kit/crash-handler`、`bun add @dotcom-reliability-kit/crash-handler`

## README

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

绑定未发现的例外处理器的方法,以确保致命的应用错误被记录. 它取代了哨兵致命错误记录。 此模块是 [FT.com 可靠性工具包](https://github.com/Financial-Times/dotcom-reliability-kit#readme)。 。 。 .

-   [使用量](https://npmcn.com/package/%40dotcom-reliability-kit/crash-handler/#readme-usage)
    -   [`registerCrashHandler`](https://npmcn.com/package/%40dotcom-reliability-kit/crash-handler/#readme-registercrashhandler)
    -   [配置选项](https://npmcn.com/package/%40dotcom-reliability-kit/crash-handler/#readme-configuration-options)
        -   [`options.logger`](https://npmcn.com/package/%40dotcom-reliability-kit/crash-handler/#readme-optionslogger)
        -   [`options.process`](https://npmcn.com/package/%40dotcom-reliability-kit/crash-handler/#readme-optionsprocess)
-   [兼容性](https://npmcn.com/package/%40dotcom-reliability-kit/crash-handler/#readme-compatibility)
    -   [从哨兵中迁移](https://npmcn.com/package/%40dotcom-reliability-kit/crash-handler/#readme-migrating-from-sentry)
-   [移动](https://npmcn.com/package/%40dotcom-reliability-kit/crash-handler/#readme-migrating)
-   [捐款](https://npmcn.com/package/%40dotcom-reliability-kit/crash-handler/#readme-contributing)
-   [许可证](https://npmcn.com/package/%40dotcom-reliability-kit/crash-handler/#readme-license)

## 使用量

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

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

在代码中包含 :

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

> \[TIP\] 如果您使用此软件包并带有 TypeScript , 我们建议您使用以下设置: `tsconfig.json` 避免类型错误的文件 :
> 
> ```json
> {
>     "esModuleInterop": true,
>     "module": "nodenext",
>     "moduleResolution": "nodenext"
> }
> ```

### `registerCrashHandler`

这个 `registerCrashHandler` 函数可用于将事件处理器绑定到 [节点.js `process.uncaughtException` 事件](https://nodejs.org/api/process.html#event-uncaughtexception)。这可以确保应用程序在意外出错或承诺拒绝时崩溃前记录最后消息.

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

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

```js
registerCrashHandler();
```

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

### 配置选项

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

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

#### `options.logger`

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

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

这直接传递到相关的日志错误方法上, [详见该套件的文档](https://npmcn.com/package/%40dotcom-reliability-kit/log-error/README.md#optionslogger)。 。 。 .

#### `options.process`

这个 [节点.js 进程](https://nodejs.org/api/process.html#process) 对象将错误处理事件绑定为。 如果您正在使用儿童进程, 或者想要在测试中嘲笑进程对象, 您可以使用此程序 .

```js
registerCrashHandler({
    process: myProcessObject
});
```

## 兼容性

### 从哨兵中迁移

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

## 移动

咨询 [移徙指南](https://npmcn.com/package/%40dotcom-reliability-kit/crash-handler/docs/migration.md) 如果你想要迁移到这个软件包的后期主要版本.

## 捐款

见 [可靠性工具包中心贡献指南](https://github.com/Financial-Times/dotcom-reliability-kit/blob/main/docs/contributing.md)。 。 。 .

## 许可证

凭 [麻省理工学院](https://github.com/Financial-Times/dotcom-reliability-kit/blob/main/LICENSE) 执照.  
版权:"2022","金融时报"有限公司.

## 常见问题

### @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 和提交记录判断。

