エラー処理
エラー処理は操作の失敗を処理するのに使われます。例えば、ファイルを読み込む のに失敗したとき、間違った入力で操作を続けるのは問題があります。明示的に このようなエラーを管理することで、残りのプログラムで落とし穴にはまるのを防ぐ ことができます。
次の節から紹介するように、Rustでは様々な方法でこれを対処することができ、その微妙な 違いを異なる場面で使い分けることができます。以下に大雑把な説明を載せます。
明示的なpanicは、主にテストや修復不可能なエラーを処理するのに使います。これは
プロトタイピングにも使えます。例えば、まだ実装していない関数の使用を処理するときは、
unimplementedを使うのが説明的で良いでしょう。テストでは、panicは明示的に失敗する
のに便利です。
Option型は、値がない場合もあり、それはエラーではないという時に使えます。例えば、
/やC:は親ディレクトリを持ちません。Optionを使うとき、値があることが確かに保証
されている場合や、プロトタイピングの用途ではunwrapが有用ですが、なにかの失敗があった
時にエラーメッセージを表示するexpectも有用です。
処理が失敗する可能性があり、それを呼び出し元が処理する必要がある時、Resultを使います。
これについてもunwrapやexpectが使用できます。(テストやプロトタイプ以外では使用しない
でください。)
もっと厳密な議論については、The bookのエラー処理の章を参照してください。