複数のエラー型
Result
が他のResult
と連携したり、Option
が他のOption
と連携するなど、今までの例はとても便利な物でした。
時にはOption
がResult
と連携したり、Result<T, Error1>
がResult<T, Error2>
と連携する必要もあるでしょう。そのような場面では、異なるエラー型を構成しやすく、かつ連携しやすく管理したいです。
以下のコードはunwrap
の2つのインスタンスが異なるエラー型を生成します。Vec::first
はOption
を返し、一方でparse::<i32>
はResult<i32, ParseIntError>
を返しています。
この先の節では、これらの問題を処理する方法について見ていきます。