Rust 错误别都拼成字符串:先让调用方能分类处理
Rust 错误如果全拼成字符串,调用方就无法分类处理。我会先为当前模块定义少量明确变体,再补重试上限、对外提示和脱敏日志。
enum AppError { InvalidInput, StorageUnavailable }错误类型不必一开始就很细。先覆盖当前模块确实要区分的几种情况,边用边补。巡检可以检查错误是否被记录、重试是否有上限、用户看到的提示是否泄露内部信息。对外消息给出下一步动作;详细上下文仅在受控日志中保存,并去掉标识符和请求内容。