意図的にパニックを発生させる標準機能について。

目的

主にテストや本番中の不変条件の確認に使われる。

一覧

panic!
単純にパニックを実行
assert!
第一引数が true である事を確認
assert_eq!
第一引数と第二引数が等しい事を確認
assert_ne!
第一引数と第二引数が異なる事を確認
debug_assert!
assert! のデバッグビルド専用版
debug_assert_eq!
assert_eq! のデバッグビルド専用版
debug_assert_ne!
assert_ne! のデバッグビルド専用版
todo!
panic! の簡易版、コーディング途中である事を示唆。
unimplemented!
panic! の簡易版、関数などが未実装である事を示唆。
unreachable!
panic! の簡易版、該当箇所に到達不可能な事を示唆。
panic_any
パニックして任意の情報を保存

エラーメッセージ

マクロで提供される機能はどれも、エラーメッセージの出力に対応している。

これには、必須の引数の以降に書式文字列と埋込値を指定すればよい。

エラー情報

panic_any では panic! と異なり、エラーメッセージに文字列以外の任意の型が使える。

なお、どちらの場合もエラー情報は PanicInfo::payload から確認できる。