Ich würde der Klasse ein Property spendieren.
Delphi-Quellcode:
Property CreateError:boolean;
Property CreateErrorInfo:String;
Beim Erzeugen prüfst du die Bedingungen und setzt dem entsprechend das Property (Nur readonly).
Nachdem alle Objekte erzeugt wurden kannst du bei allen Objekten diese Property überprüfen und die fehlerhaften Objekt ggf wieder frei geben.
Kann man natürlich auch nach jedem erzeugen der Klasse direkt prüfen und freigeben.