Thread Jeder kennt Traits (54 answers)
Opened by rosti at 2018-11-06 11:05

Raubtier
 2018-11-16 14:34
#189211 #189211
User since
2012-05-04
1076 Artikel
BenutzerIn
[default_avatar]
2018-11-16T08:27:32 rosti
Die Idee die dahinter steckt ist, Exceptions zu klassifizieren. Ob das Sinn macht oder nicht, da bin ich grad dabei das herauszufinden.

Meiner Erfahrung nach wird das gerne übertrieben. Meistens haben die Exception-Objekte doch sowieso nur einen Fehlertext als Member. Ggf. noch einen Fehlercode. Und für jeden Fehler dann eine neue Klasse, ich weiß ja nicht. Häufig wird noch dazu auf alle Exceptions gleich reagiert... Ich bin ein Freund davon, Exceptions möglichst selten einzusetzen.

Meine Erfahrung kommt dabei aber auch von C++. Dort kann man nicht nur jedes beliebige Objekt werfen (auch strings), sondern dort ist es so, dass der "normale" Ablauf bei Verwendung von Exceptions zwar praktisch gleich schnell bleibt, aber der Exception-Fall sehr sehr viel langsamer ist, d.h. viel Laufzeit-Overhead hat. Und Googles Code-Konventionen in C++-Code verbieten sogar Exceptions. Das war ein kurzer Exkurs, also zurück zum Thema: Exceptions sollten also nur für außergewöhnliche Dinge verwendet werden, nicht für jeden Pups-Fehler. Und da es nicht sooo viele verschiedene furchtbare Fehler gibt, sollte es auch nicht viele Exception-Klassen geben.

Ich finde: Exceptions: ja, aber sparsam einsetzen.
Last edited: 2018-11-16 14:36:26 +0100 (CET)

View full thread Jeder kennt Traits