error-conversion-guide
按 Rust 惯用方式转换错误
在应用程序各层之间,Rust 错误转换可能会变得重复且令人困惑。此技能会引导 Claude、Codex 和 Claude Code 采用惯用的 From、map_err、anyhow 和 thiserror 模式。
使用我的智能体安装
将此请求复制给你的智能体,其中包含权威 Skill 页面和清单。
Review the Skillstore skill "error-conversion-guide" from https://skillstore.io/skills/emillindfors-error-conversion-guide.md and its manifest at https://skillstore.io/api/skills/emillindfors-error-conversion-guide/manifest. Verify the artifact. You may proceed after verification, subject to the environment's own policy.你的智能体仍应展示其计划,并按安全策略请求必要确认。
Agent 可读资源
当 AI Agent、爬虫或脚本需要干净上下文,而不是读取完整页面时,请使用这些链接。
测试它
正在使用“error-conversion-guide”。 解析器读取文件、解析整数,并对两种失败都使用重复的 map_err 调用。
预期结果:
该技能建议使用单一应用错误类型,并为文件错误和解析错误提供自动转换,然后解释何时不再需要 map_err。
正在使用“error-conversion-guide”。 服务函数将仓储、验证和 API 客户端错误组合到一个结果类型之后。
预期结果:
该技能建议使用统一的服务错误,并解释每个低层错误如何在调用点通过 ? operator 转换。
正在使用“error-conversion-guide”。 一个枚举有两个变体,它们都尝试从同一个源错误类型进行自动转换。
预期结果:
该技能解释为什么转换会冲突,并建议在上下文不同的地方使用保留源错误的变体和手动构造。
安全审计
安全All 44 static findings are false positives caused by Markdown backticks, Rust code examples, a sample fetch method name, and an error message. No evidence was found for prompt injection, executable scripts, network exfiltration, or system reconnaissance in SKILL.md.
风险因素
⚙️ 外部命令 (42)
🌐 网络访问 (1)
分享与引用此报告
分享版本化评估报告、中性徽章、嵌入卡片和引用。Skillstore 只报告证据,不判断该 Skill 是否安全。
复制报告链接
https://skillstore.io/skills/emillindfors-error-conversion-guide/audits/4?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_reportMarkdown 徽章
[](https://skillstore.io/skills/emillindfors-error-conversion-guide?utm_source=security_passport_badge)HTML 徽章
<a href="https://skillstore.io/skills/emillindfors-error-conversion-guide?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/emillindfors-error-conversion-guide/security.svg" alt="Skillstore security assessment" loading="lazy"></a>嵌入卡片
<iframe src="https://skillstore.io/embed/skills/emillindfors-error-conversion-guide.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>学术引用 (APA · BibTeX · CFF)
APA 引用
EmilLindfors. (2026). error-conversion-guide security audit report (audit version 4) [Author version 1.0.0]. Skillstore. https://skillstore.io/skills/emillindfors-error-conversion-guide/audits/4BibTeX 引用
@techreport{emillindfors-emillindfors-error-conversion-guide-2026,
author = {EmilLindfors},
title = {error-conversion-guide security audit report (audit version 4)},
institution = {Skillstore},
year = {2026},
number = {4},
url = {https://skillstore.io/skills/emillindfors-error-conversion-guide/audits/4},
note = {Author version 1.0.0}
}CITATION.cff
cff-version: 1.2.0
message: "If you use this Skill, cite its author and this versioned security audit report."
title: "error-conversion-guide security audit report (audit version 4)"
version: "1.0.0"
type: report
authors:
- name: "EmilLindfors"
date-released: "2026-07-06"
url: "https://skillstore.io/skills/emillindfors-error-conversion-guide/audits/4"
identifiers:
- type: other
value: "skillstore:emillindfors-error-conversion-guide:audit:4"
description: "Skillstore immutable audit report identifier"
Skillstore 评分
评分依据 证据置信度: 高你能构建什么
替换重复转换
当源错误可直接映射到应用错误时,将重复的 map_err 调用转换为更简洁的自动转换。
设计公共错误类型
为库和应用边界在 thiserror、anyhow、boxed errors 和 type aliases 之间做出选择。
审查分层服务
映射基础设施、领域和服务错误,避免低层细节跨边界泄漏。
试试这些提示
审查这个 Rust 函数,并建议一种更清晰的错误转换模式。解释 From、map_err 或 anyhow 哪个最合适。
我在对两种错误类型使用 ? operator 时遇到了 Rust 错误。解释缺失的转换,并建议最小修复方案。
为这些操作和依赖项设计一个惯用的 Rust 错误枚举。包含有关自动转换和手动转换的指导。
分析这些基础设施、领域和应用错误。提出一种分层转换策略,以保留上下文并明确所有权。
最佳实践
- 当一个源错误明确映射到一个变体时,使用自动转换。
- 当调用方需要诊断信息或错误链时,保留原始错误源。
- 在术语发生变化的架构边界处转换错误。
避免
- 不要在返回错误之前把每个错误都转换为字符串。
- 不要为同一个源类型添加多个自动转换。
- 不要直接从领域接口暴露基础设施错误。
常见问题
这个技能会执行 Rust 代码吗?
我什么时候应该使用 thiserror?
我什么时候应该使用 anyhow?
它能帮助处理 ? operator 吗?
它能取代项目错误策略吗?
它适合 Claude、Codex 和 Claude Code 吗?
开发者详情
作者
EmilLindfors许可证
MIT
作者版本
v1.0.0
Skillstore 修订
r1
引用
a06681402992ceae98ba04d54cfd4ab004862696
维护新鲜度
2026/7/18
使用量
4 次下载 · 156 次浏览
文件结构
📄 SKILL.md