Appearance
错误处理
灵动桌面框架使用结构化错误系统,确保错误信息从后端安全传递到前端。
两种错误类型
| 类型 | 用途 | 使用位置 |
|---|---|---|
AppError | 内部业务错误 | Service 层、Database 层 |
CommandError | IPC 返回错误 | Command 层(前端可见) |
错误转换链
数据库错误 → AppError → CommandError → 前端 catchAppError 通过 From trait 自动转换为 CommandError,开发时只需使用 ? 运算符。
前端错误处理
typescript
try {
const config = await getConfig('theme')
} catch (error) {
// error: { code: "VALIDATION", message: "键名不能为空" }
message.error(error.message)
}规范
- 禁止使用
unwrap()— 使用?运算符 - 禁止使用
panic!()— 返回Err(AppError::...) - 所有错误必须处理或向上传播