Resultこれまでの例で、失敗する可能性のある関数の返り値として、列挙型Optionが使用でき、失敗時の返り値にはNoneを用いることを見てきました。時にはなぜそのオペレーションが失敗したのかを明示することが重要な場合があります。そのためにはResult列挙型を使用します。E>は2つの値をとりえます。これはオペレーションが成功したことを意味し、返り値valueをラップします。(valueは型Tを持ちます。これはオペレーションの失敗を意味します。whyをラップしており、ここには失敗した理由が(必ずではありませんが)書かれています。(whyの型はEです。分母が0なので、このオペレーションは普通に行えば失敗する。代わりに`Err`でラップされた失敗の理由を返そう。このオペレーションは問題がないので、結果を`Ok`でラップして返そう。