Ohne auch nur benchmarken zu müssen: Exception ist IMMER wesentlich teurer als defensiv zu programmieren und wenns als Null-Guard usw. zu verwenden. Exceptions sind immer teurer (mehrere Größenordnungen), weil die Stack-Trace generiert werden muss.
Relevante SO-Frage mit Benchmark: Wie langsam sind Java-Ausnahmen?
> if
definitiv.
Das Auslösen einer Ausnahme ist ein kostspieliger Vorgang, und dies ist nicht der Zweck von Exception
.
Der Zweck von Exception ist das Einfangen von Ausnahmebedingungen, die zur Laufzeit auftreten können. Sie sollten jedoch nicht so programmieren, dass eine Ausnahme generiert wird, um diese Entscheidung zu treffen.
Gibt einen einzelnen Zweig aus. Das Auslösen einer Ausnahme "entrollt" den Stapel, was viel länger dauert.
Tags und Links java exception execution-time