Rust 异常处理的演进:从巨型枚举到精巧的错误集
2025-06-30
Rust 的异常处理一直存在争议。传统的做法是为每个模块或整个 crate 定义一个巨大的错误枚举,导致代码臃肿且难以维护。文章探讨了替代方案:使用结构体表示单个错误,并使用 `error_set` crate 等工具管理错误集。`error_set` 通过宏简化了错误枚举的定义和转换,并支持错误集的组合和子集关系,使错误处理更清晰、高效。虽然对于需要携带额外信息的复杂错误,仍需额外的工作,但 `error_set` 提供了一种更优雅、可维护的 Rust 异常处理方式。
开发
error_set