Skip to content

错误处理

灵动桌面框架使用结构化错误系统,确保错误信息从后端安全传递到前端。

两种错误类型

类型用途使用位置
AppError内部业务错误Service 层、Database 层
CommandErrorIPC 返回错误Command 层(前端可见)

错误转换链

数据库错误 → AppError → CommandError → 前端 catch

AppError 通过 From trait 自动转换为 CommandError,开发时只需使用 ? 运算符。

前端错误处理

typescript
try {
  const config = await getConfig('theme')
} catch (error) {
  // error: { code: "VALIDATION", message: "键名不能为空" }
  message.error(error.message)
}

规范

  • 禁止使用 unwrap() — 使用 ? 运算符
  • 禁止使用 panic!() — 返回 Err(AppError::...)
  • 所有错误必须处理或向上传播

若依科技工作室 · 承接桌面软件 / 全栈 / 小程序定制开发 · 技术服务咨询