错误处理
cliff 提供结构化的错误处理,输出用户友好的错误信息。
自动错误处理
run 函数中抛出的错误会被框架捕获:
ts
async run({ ui }) {
throw new Error('连接被拒绝');
}输出:
✖ Error: 连接被拒绝
at deploy (commands/deploy.ts:12:5)
Tip: 请检查网络连接并重试。堆栈折叠
框架折叠堆栈跟踪,只显示你自己的代码。Node.js 内部和 node_modules 路径会被过滤,使错误信息更可读。
退出码
| 码 | 含义 | 触发条件 |
|---|---|---|
| 0 | 成功 | 正常完成 |
| 1 | 通用错误 | 未处理的异常 |
| 2 | 参数错误 | 无效的选项值 |
| 3 | 用户取消 | 提示期间按 Ctrl+C |
| 4 | 配置错误 | 无效的配置文件 |
错误提示
框架自动识别常见错误类型并给出提示:
- 网络错误 — 建议检查连接
- 权限错误 — 建议检查文件权限
- 文件未找到 — 建议检查路径
调试模式
启用调试模式查看完整堆栈跟踪:
bash
my-tool deploy --debug或通过编程方式设置:
ts
const cli = createCli({
name: 'my-tool',
debug: true,
});