# SC999：意外错误

> SC999（意外错误）表示 shutdown-check 自身遇到了没有预料到的错误。先阅读错误消息、检查配置，必要时附上时间线报告问题。

Source: https://shutdown.jscrate.dev/zh/docs/codes/sc999
Last updated: 2026-09-23

`SC999` 表示 shutdown-check 捕获到一个不属于任何正常失败阶段的错误。消息直接来自原始错误，所以最好从这条消息查起。

| | |
| --- | --- |
| 诊断码 | `SC999` (FAIL) |
| 阶段 | 意外错误 |
| CLI 退出码 | 1 |
| 含义 | 检查自身遇到了意外的错误，例如不安全的请求路径或操作系统故障。 |
| 输出信息 |  |
| 首先检查 | 阅读结果中的消息；如果问题指向 shutdown-check 而不是你的服务，附上时间线提交 issue。 |

## 首先该做什么？

1. 阅读完整的消息和最后一个时间线事件。
2. 如果你直接调用 `runCheck()`，先用 `parseConfig()` 校验对象。
3. 用 `checkShutdown()` 或 CLI 运行同样的配置试试。
4. 确认运行环境受支持，并且系统资源充足。

手动构造的 `CheckConfig` 可能绕过常规校验，引发不安全的请求路径之类的错误。更上层的 API 会在运行开始前就拦下这些值。

## 什么时候应该报告 bug？

如果一个有效的配置反复返回 `SC999`，就报告问题。请附上包版本、操作系统、Node.js 版本、去掉密钥的配置、结果消息、时间线，可能的话再附一个精简的复现示例。

## 如何排除配置问题？

把同样的输入交给 `parseConfig()`，或者使用 CLI。如果校验不通过，先修复那个错误。如果校验通过，SC999 仍然反复出现，提交 issue 时保留原始消息，不要改动。

复现示例中绝不能包含凭据、私有 URL、token 或客户数据。

## 相关内容

- [Node API 校验](https://shutdown.jscrate.dev/zh/docs/node-api#validate-input-with-parseconfig)
- [故障排查](https://shutdown.jscrate.dev/zh/docs/troubleshooting)
- [关于与支持](https://shutdown.jscrate.dev/zh/docs/about)
