Skip to main content

Module errors

Module errors 

Source
Expand description

cargo-fresh 的可执行错误类型与提示映射。

大部分内部路径继续返回 anyhow::Result——错误链很短,没必要为每个 bail 都写一个枚举变体。这个模块的核心价值是 hint_for:拿到失败时的 anyhow::Error,沿错误链向下嗅探到 CargoFreshError 或底层 reqwest::Error,反推一条对用户可执行的提示串(“检查 HTTPS_PROXY”、 “用 cargo –version 验证 toolchain” 之类),由 main 在退出前打到 stderr。

取舍:与其逼着所有 anyhow::bail! 改成枚举,不如保留 anyhow 的灵活 上下文,仅在我们能识别且能给出具体建议的路径上下沉到这里。 没有匹配时 hint_for 返回 None,由调用方退回默认错误信息。

Enums§

CargoFreshError
用户运行 cargo-fresh 时能识别出的几类典型失败。
Hint
一条可执行提示。hint_for 只返回哪一条提示(locale key),具体文案由 main 通过 Language::get_text(hint.locale_key()) 按用户语言渲染——和 cargo-fresh 其它所有用户可见字符串走同一条 i18n 路径(src/locale/texts.rs),不在这里硬编码英文。

Functions§

hint_for
把 anyhow 错误链嗅探成一条 Hint。返回 None 时调用方按原样打印错误。