私はこの記事を参照しています:アサーションチェックが失敗した場合、それはAssertionError
をスローし、変数の有効性を確認することができます:What does the Java assert keyword do, and when should it be used?アサーションは、変数が本番環境で有効になっていない場合、どのように変数の正当性をチェックするのですか?
私の理解では、ということです。このチェックは、通常は本番環境ではオフになっています。
質問1:なぜ生産に我々は、パラメータの妥当性をチェックする必要はありませんか?つまり、ユーザーは無効なパラメータを渡して意図的にプログラムを中断することができます。
質問2:アサーションは通常プロダクションではオフになるため、アサーションに加えてチェックとスローの例外を記述する必要がありますか?
にならない何の正当な理由を持っていないはずですが、リレーのもののために主張しなければならないあなたは答えに最初のコメントを読みましたか? *実際には、Oracleはパブリック・メソッドのパラメータをチェックするために 'assert'を使用しないように指示します。プログラムを強制終了する代わりに 'Exception'を投げるべきです。* – Andreas