🖥️
后端开发

Coder Rust 错误处理

@coder-rust-error-handling

<skill_overview> 在 Rust 中设计可预测且符合人体工程学的错误处理 设计错误类型 用结果传播错误 在 API 边界处映射错误 在恐慌和结果之间进行选择 The Rust Book - 错误处理 </skill_overview> <panic_vs_result> <use_panic_when> 不可恢复的、打破不变的失败 程序中的错误(逻辑错误) </use_panic_when> <use_result_when> 预期错误(未找到,验证) I/O 或外部依赖项失败 </use_result_when> </panic_vs_result> <error_types> 为模块或服务定义专用错误枚举 为自定义错误实现 Display 和 Error 使用 From 转换较低级别的错误 enum ServiceError { NotFound, InvalidInput, Io(std::io::Error) } </error_types> 使用 ?传播错误 使用map_err或自定义变体添加上下文 保留原始错误以进行调试 <boundary_mapping> 将内部错误映射到公共错误代码/消息 不要向客户端泄漏敏感详细信息 </boundary_mapping> <anti_patterns> 避免展开/期望正常流程 避免没有结构的纯字符串错误 不要对验证失败感到恐慌 </anti_patterns>

包含技能

1 个
🖥️
Coder Rust 错误处理
@ozerohax/assistagents/coder-rust-error-handling

<skill_overview> 在 Rust 中设计可预测且符合人体工程学的错误处理 设计错误类型 用结果传播错误 在 API 边界处映射错误 在恐慌和结果之间进行选择 The Rust Book - 错误处理 </skill_overview> <panic_vs_result> <use_panic_when> 不可恢复的、打破不变的失败 程序中的错误(逻辑错误) </use_panic_when> <use_result_when> 预期错误(未找到,验证) I/O 或外部依赖项失败 </use_result_when> </panic_vs_result> <error_types> 为模块或服务定义专用错误枚举 为自定义错误实现 Display 和 Error 使用 From 转换较低级别的错误 enum ServiceError { NotFound, InvalidInput, Io(std::io::Error) } </error_types> 使用 ?传播错误 使用map_err或自定义变体添加上下文 保留原始错误以进行调试 <boundary_mapping> 将内部错误映射到公共错误代码/消息 不要向客户端泄漏敏感详细信息 </boundary_mapping> <anti_patterns> 避免展开/期望正常流程 避免没有结构的纯字符串错误 不要对验证失败感到恐慌 </anti_patterns>

🚀 如何安装技能包 请下载安装 AiOffice 客户端,
如果已下载AiOffice,
请在 AiOffice 的技能广场页面进行一键安装。