Tach!
Ich würde
$error[]
dann in der Klasse aufgreifen und in ein Error-Log file schreiben.
Dazu brauchst du aber das Array nicht. Außerdem muss auch der aufrufende Kontext informiert werden, dass seine Daten nicht ordnungsgemäß verarbeitet wurden. Nur dort kann entschieden werden, in welcher Form die Information an den Nutzer sinnvoll ist. Technische Details gehen die Anwender ja nichts an. In der Klasse kann das nicht entscheiden werden, ihre universelle Einsetzbarkeit steht einer individuellen Reaktion im Wege.
Der Nutzer muss auch nicht in jedem Fall informiert werden, denn es gibt auch Situationen, in denen man ganz bewusst Fehler in Kauf nimmt. Wenn man beispielsweise Daten nur dann eintragen möchte, wenn sie noch nicht vorhanden sind, ist es ungünstig, erst mit einem Select zu prüfen und dann ein Insert nachzuschieben. Es besteht die Wahrscheinlichkeit, dass in der Zwischenzeit ein anderer Prozess schneller war. Das nennt sich TOCTTOU-Problem. Stattdessen setzt man einen Unique-Index und führt einfach sofort das Insert aus. Kein Fehler => alles ok. Unique Constraint Error => Datensatz existiert schon. Das ist ja kein Fehler im eigentlichen Sinne und muss auch nicht mit großem Tamtam dem Anwender angezeigt werden. Ach ja, und für den Fall ist es auch sinnlos, das Logfile zu beschreiben. Ein unbedingtes Logfile-Schreiben in die Klasse einzubauen, ist also auch keine so tolle Idee.
dedlfix.