用途:帮助掌握 Rust 中显式、类型安全的错误处理方式,核心是 Result 与 Option 两个类型。
主要能力:
- Option 处理缺失值,可用 match 或 if let 解构 Some/None。
- Result<T, E> 处理可恢复错误,可用 match 区分 Ok 与 Err。
- ? 运算符:在函数返回 Result 时对失败步骤自动提前返回 Err,可串联 read_file、parse、validate 等调用。
- 常用组合方法:unwrap_or / unwrap_or_else 提供默认值;map / and_then 转换或串联内部值;ok_or / ok_or_else 把 Option 转为 Result。
- 自定义错误:用 thiserror 的 derive 定义枚举错误,配合 #[from] 转换底层错误,并用 #[error] 编写错误消息。
- 应用错误:用 anyhow 的 Context、Result、bail、ensure 添加上下文、校验条件并提前返回错误。
使用方式:资料给出各模式的代码片段,例如用 match 或 if let 处理 Option,用 ? 在函数中传播错误,用 match 处理 Result;错误库部分展示 thiserror 与 anyhow 的导入和函数写法。
适用场景:需要以类型安全方式表达可能失败的操作、统一错误类型、为错误添加上下文,以及区分可恢复与不可恢复错误。
限制:资料未提供安装命令、版本要求、平台限制或性能说明;部分示例(如 User、Data、Error、read_file、parse、validate、load_config 等)依赖上下文,未给出完整可运行定义。