Fehlerabhandlung im Konstruktor

santiagopicard

Grünschnabel
Wie kann ich Fehler im Konstruktor abhandeln, so dass der Kunde meiner Klasse weiß, dass er den Konstruktor falsch benutzt hat.

Meinem Konstruktor wird eine String-Variable übergeben.
Dabei möchte ich prüfen, ob es sich um einen plausiblen Wert handelt.
(Z.B. 12-stellige Zahl - man denke an Objektschlüssel oder so)
Wenn ich feststelle, dass er Schrott angeliefert hat wird ein Standarwert gesetzt.
Zusätzlich soll aber der Kunde meiner Klasse informiert werden, dass etwas schief gegangen ist.
Ist das möglich?
Ist das unüblich?
 
Wirf eine Exception. Wenn man es dokumentiert ist es "okay".

Andere Möglichkeit Zustand der Klasse über eine Bool Variable festhalten (auch von aussen abfragebar), wenn also im Konstruktor was schief geht false setzen , und weitere Aktionen nur im Zustand true weiter führen

du könntest natürlich auch eine Referenz an den Konstruktor als Variable übergeben und in der steht ein Fehlercode

....Geschmackssache...
weiter vorschläge würden mich auch interessieren
 
Noch eine Variante dürfte eine statische Methode innerhalb der Klasse sein, die einen privaten Konstruktor aufruft und bei einem Fehler eine Exception zurückliefert.
 
du könntest natürlich auch eine Referenz an den Konstruktor als Variable übergeben und in der steht ein Fehlercode
Damit verbaust du dir aber den Gebrauch von Default- bzw. Copy-Constructor. Die beiden müssen dann nämlich private gemacht werden, damit der versehentliche Gebrauch (ohne Fehlercheck) ausgeschlossen ist. Aber gut, nicht alle Klassen brauchen einen Kopierkonstruktor. In diesem Fall, wo anscheinend eine Objekt-ID zur Konstruktion verwendet wird und die Objekte nicht als Werte betrachtet werden können, scheint das in Ordnung zu gehen.
 
Zuletzt bearbeitet:
Zurück