Overhead im Zusammenhang mit Exception vs Throwable in Java
ich weiß
throw new Exception();
hat einen ziemlich großen Overhead, da es eine vollständige stackTrace usw. erstellt.
Tut
throw new Throwable();
präsentieren das gleiche Problem? Ist dieses Verhalten vererbt oder hat das Werfen eines Throwable einen geringeren (o nein) Overhead?
BEARBEITEN
Von einerAnalytiker Aus der Sicht eines Benutzers, der ein falsches Passwort eingibt, ist dies eine Ausnahme von der normalen Ausführungsreihenfolge eines Programms. Also wenn ich habe:
public Session newSession() {
validate_user_and_password();
}
Das Auslösen einer UserNotValidException würde von einerAnalysten Perspektive.
Rückkehrnull
oder0
Klingt einfach falsch, wenn Ihr Code ziemlich gut abstrahiert ist. Ich wollte nur wissen, ob ich dies tatsächlich in Code implementieren könnte oder ob ich es nur der Theorie überlassen müsste.
Es gibt einen guten Unterschied zwischen der Programmier-Sicht-Ausnahme und der Analyst-Sicht-Ausnahme.
Anmerkung: Ich habe ein wirklich einfaches und albernes Beispiel gegeben, das ist nicht ganz mein Fall.
Anmerkung 2: Ich weiß, dass ich zurückkehrenull
wäre die gewöhnliche Sache, aber ich muss ordnungsgemäß abstrahierten und OO-Code haben, und persönlich sehe ich darin keinen Schaden.