SuperAPI AI 工具集

rust-error-handling

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

用途:指导 Rust 项目设计错误处理方案,核心是划清库与应用的边界——库用 thiserror 暴露调用方可匹配的类型化错误枚举,应用用 anyhow 获得单一易用错误类型与丰富上下文。

主要能力:区分可恢复错误与 panic,Result 用于调用方可能合理恢复的情况,panic!/unwrap/expect 仅用于不变量被破坏;#[from] 实现零样板转换,使 ? 能把源错误提升进枚举,且 #[from] 隐含 #[source],不可同时书写;应用代码逐层用 .context("...") 或 .with_context(|| ...) 添加可追踪的上下文链。

使用方式:先判断 crate 是库(有公开 API、被其他代码依赖)还是二进制/应用,据此选工具;简单或不想引入依赖时可用手写 std::error::Error。写 derive 前需确认当前 thiserror / anyhow API。写完后运行 cargo clippy 等检查。

适用场景:库 API 错误枚举设计、应用入口错误处理、错误枚举形态与转换设计。

限制:不覆盖通用所有权/借用设计(属 rust-core-language),也不涉及异步运行时特有的错误处理。资料未提供具体安装命令、版本号或价格信息。