例外処理・ファイル操作・クラス基礎比較問題
raiseステートメントとassertステートメントの違いについて、最も適切な説明はどれか。
A.raiseは意図的に例外を発生させるが、assertは条件をチェックして偽の場合にAssertionErrorを発生させる← 正解
✓ 正解です。raiseは例外を任意に発生させ、assertは条件式が偽ならAssertionErrorを発生させます。
B.raiseはプログラム全体を停止させるが、assertはエラーを記録するだけで実行を続ける
✗ どちらも例外を発生させプログラムを停止させます。assertがエラー記録のみとは誤りです。
C.assertは本番環境でも常に有効だが、raiseは開発環境でのみ使用される
✗ assertはコンパイル最適化で無視されることがあります。raiseの使用環境制限はありません。
D.raiseは特定の例外型のみ発生させられるが、assertは全ての標準例外を発生させられる
✗ raiseは全ての例外型を発生させられます。assertはAssertionErrorのみです。