Ich schreibe gerade eine Funktion, die ein Objekt aus einer Liste nach einem bestimmten Kriterium zurückgibt. Es sieht wie folgt aus:Ist "Behauptung falsch"; eine gute Praxis?
for (Object object : list) {
if (condition(object)) {
return object;
}
}
Diese Funktion sollte immer etwas aus der Liste zurückzukehren, und in dem Fall wurde kein passendes Objekt gefunden, es ein schlechter Ruf war, ein kritischer Fehler, und das Programm beenden sollte. So
, wie ich mit Behauptungen arbeiten aktiviert, ich habe folgende kurz nach der Schleife:
assert false; // Will always trigger in debug mode.
return null; // No matter anyway, an AssertionException has already been thrown.
Aber ich frage mich, ob ich gut war oder nicht?
Wenn nicht, was soll ich stattdessen tun? Fällt mir selbst eine Ausnahme?
In jedem Fall gibt es irgendeine Art von Norm über diese Situation?
Scheint wie ein Narr http://stackoverflow.com/questions/28480068/assertfalse-vs-runtimeexception, aber ich will nicht auf mir meinen einseitigen Betrogene-Hammer werfen ... – yshavit
Der Kontext ist ein ganzes andere, sowie das Problem, ich glaube nicht, dass Sie Ihren Hammer werfen müssen. +1 um mich über den Dump-Hammer um 8 Uhr bei der Arbeit lachen zu lassen: D –