エラー処理

エラー処理は操作の失敗を処理するのに使われます。例えば、ファイルを読み込む のに失敗したとき、間違った入力で操作を続けるのは問題があります。明示的に このようなエラーを管理することで、残りのプログラムで落とし穴にはまるのを防ぐ ことができます。

次の節から紹介するように、Rustでは様々な方法でこれを対処することができ、その微妙な 違いを異なる場面で使い分けることができます。以下に大雑把な説明を載せます。

明示的なpanicは、主にテストや修復不可能なエラーを処理するのに使います。これは プロトタイピングにも使えます。例えば、まだ実装していない関数の使用を処理するときは、 unimplementedを使うのが説明的で良いでしょう。テストでは、panicは明示的に失敗する のに便利です。

Option型は、値がない場合もあり、それはエラーではないという時に使えます。例えば、 /C:は親ディレクトリを持ちません。Optionを使うとき、値があることが確かに保証 されている場合や、プロトタイピングの用途ではunwrapが有用ですが、なにかの失敗があった 時にエラーメッセージを表示するexpectも有用です。

処理が失敗する可能性があり、それを呼び出し元が処理する必要がある時、Resultを使います。 これについてもunwrapexpectが使用できます。(テストやプロトタイプ以外では使用しない でください。)

もっと厳密な議論については、The bookのエラー処理の章を参照してください。