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