用途:这是一个面向 Rust 项目的错误处理技能,适用于修改或调整失败契约(failure contract)的场景。触发关键词包括 Rust 错误处理、Result、?、类型化错误、可恢复失败、错误传播。
主要能力与规则:保留 crate 现有的错误契约;可恢复失败使用 Result,panic 仅保留给被违反的内部不变量。预期错误用 ? 传播,在边界处补充上下文以提升诊断价值。保留公开的类型化错误,遵循应用既有约定,不为了包装单个失败而引入新依赖。不得对用户输入、I/O、网络或解析结果使用 unwrap;错误消息应保持有用,同时不暴露密钥或敏感输入。
用法示例:使用 crate 既有错误类型,通过 ? 传播文件读取失败;不要对属于常规输入的缺失文件触发 panic。
验证方式:测试预期的错误变体与边界上下文;在目标 crate 中运行 cargo check 及针对性测试。
集成:从 rust-essentials 开始;当错误类型用于编码领域不变量时,可与 type-driven-design 搭配使用。
限制:资料未提供具体安装命令、依赖版本、支持平台或更多代码示例;实际实施需以所在项目的既有约定为准。