| 不变量违反 | 配置文件验证失败 | 程序无法继续 | | 初始化检查 | EXPECTEDENV.isset() | 配置问题需要修复 | | 测试 | asserteq! | 验证假设 | | 不可恢复 | 连接意外断开 | 最好让程序崩溃 |
| .unwrap() 到处都是 | 生产环境 panic | ? 或 withcontext() | | Box | 丢失类型信息 | thiserror 枚举 | | 静默忽略错误 | bug 隐藏 | 处理或传播 | | 错误类型层次过深 | 过度设计 | 按需设计 | | panic 用于流程控制 | 滥用 panic | 正常控制流 |
| 库返回自定义错误 | Result | thiserror | | 应用快速开发 | Result | anyhow | | absence 正常 | Option | None / Some(x) | | 预期 panic | panic! / assert! | 仅限特殊情况 | | 错误转换 | .maperr() / .withcontext() | 添加上下文 |
Эксперт по обработке ошибок. Обрабатывает результат, параметр, панику, в любом случае, эту ошибку, пользовательские ошибки, распространение ошибок и связанные с ними проблемы. Триггерные слова: результат, ошибка, паника, ?, развернуть, ожидать, в любом случае, эта ошибка, обработка ошибок, типы ошибок. Источник: huiali/rust-skills.