panic! を使用する致命的なエラーについて学習する

完了

パニックは、Rust の最も単純なエラー処理メカニズムです。

panic! マクロを使用して、現在のスレッドを "パニック" にすることができます。 マクロによって、エラー メッセージの出力、リソースの解放が行われ、プログラムが終了します。

次の例は、panic! マクロを呼び出す方法を示しています。

fn main() {
    panic!("Farewell!");
}

このプログラムは、状態コード 101 で終了し、次のメッセージを出力します。

thread 'main' panicked at 'Farewell!', src/main.rs:2:5

上記のパニック メッセージの最後の部分は、パニックの場所を示しています。 これは、src/main.rs ファイルの 2 行目の 5 番目の文字で発生しています。

一般に、プログラムが復旧できない状態になったときは、panic! を使用する必要があります。 エラーから復旧する方法がまったくない状態。

Rust は、0 で除算を行ったときや、次のコードで示すように、配列、ベクター、またはハッシュ マップに存在しないインデックスにアクセスを試みたときなど、一部の操作でパニックになります。

let v = vec![0, 1, 2, 3];
println!("{}", v[6]); // this will cause a panic!

次のユニットでは、プログラムをパニックにすることなく、このようなエラーを処理する方法について学習します。