私は現在、指定された条件に従ってリストからオブジェクトを返す関数を書いています。それは次のようになります。"assert false;"良い練習ですか?
for (Object object : list) {
if (condition(object)) {
return object;
}
}
この関数は常にリストから何かを返す必要があります、と一致するオブジェクトが見つからなかった場合には、それが悪いの呼び出し、重大なエラーで、プログラムを停止する必要があります。
だから、私はアサーションを有効に働くように、私はループの後にだけ、次のでした:
assert false; // Will always trigger in debug mode.
return null; // No matter anyway, an AssertionException has already been thrown.
しかし、私はうまくかなかったのだろうか?
そうでない場合は、代わりに何をすべきですか?私自身例外を投げますか?
いずれにしても、この状況に関する基準はありますか?
http://stackoverflow.com/questions/28480068/assertfalse-vs-runtimeexceptionの房のように見えますが、私は片側のデュープ・ハンマーを投げたくありません。 – yshavit
文脈全体その他、問題と同様に、私はあなたがあなたのハンマーを投げる必要はないと思う。 +1私は職場で8時にデュープハンマーを笑わせるために:D –