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::...)
  • 所有错误必须处理或向上传播

基于 Tauri 2.x 构建的企业级桌面应用开发框架