T-Rex: Wann wirft man eine Exception

Beitrag lesen

Also erstmal auch dir ein riesen Dank für deine Mühe!

Mein Problem ist glaube ich eine Entscheidung zu treffen ob ich Exceptions wirklich komplett in mein System einbaue. Meine Befürchtung ist, dass der Code dadurch so sehr aufbläht wird, dass er nicht mehr wartbar wird. Etwas läuft schief, liegt es am Hauptsystem oder ist eine der tausenden catch Blöcke dafür verantwortlich? Und was machen die catch Blöcke überhaupt? Sind die in der Large eine wirkliche Alternative zu erstellen (z.B. Platzhalterbild laden, wenn kein Hauptbild gefunden wurde) oder machen die Catchblöcke nichts weiter als die Exception zu loggen und das Programm ab zu brechen. Wenn dem so ist, dann schaffe ich das auch ohne Exceptions. Wie schon an anderer Stelle gesagt wurde, am Ende wird der Programmablauf beendet und eine Fehlermeldung wird präsentiert oder eine bestimmte Defaultseite wird geladen.

Ich habe hier eine Klasse von der wird sehr viel abgeleitet. Wenn ich in diese Klasse eine Exception in den Konstruktor baue, muss ich quasi bei jeder Funktion oder Methode im kompletten System ein try catch block einbauen. Und da frage ich mich ob es die Mühe wert ist. Vor allem würden Fehler dieser Klasse sofort beim testen auffallen.

Auf der anderen Seite empfinde ich es als guten Programmierstil Exceptions zu werfen. Denn damit bietet man dem Aufrufer die Chance einen Plan B zu entwickeln. Da ich aber gleichzeitig der Aufrufer bin und weiß, dass es keinen Plan B gibt (zumindest nicht für diese wichtige Klasse), ist die Überlegung natürlich nur logisch ob ich überhaupt Exceptions brauche.

Gruß
TwoFace
T-Rex