使用 Box
处理错误
标准库会自动通过 Form
将任意实现了 Error
trait 的类型转换成 trait 对象 的类型(原文:The std
library automatically converts any type that implements the Error
trait into the trait object Box<Error>
, via From
. )。对于一个库用户,下面可以很容易做到:
将内容“装包”(”Boxing”)是一个常见的选择。缺点是潜在的错误类型只能在运行时知道,且不能静态确定(statically determined)。正如刚才提到的,要做到这点所有要做的事情就是实现 Error
trait:
和 trait