Rust可能有过多的错误表示方法,但标准库有一个通用特性 std::error::Error
来描述错误。
使用智能指针“Box”,我们可以使用类型Box<dyn std::error::Error>
作为常见的返回错误类型,因为它允许我们在堆上、高级别的传播错误,而不必知道特定的类型。
在 Rust 之旅的早期,我们了解到 main
可以返回一个错误。我们现在可以返回一个类型,该类型能够描述我们程序中可能发生的几乎任何类型的错误,只要错误的数据结构实现了 Rust 的通用Error
特征。
fn main() -> Result<(), Box<dyn std::error:Error>>