Skip to content

错误处理

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,
});

MIT Licensed