Ganz einfach gesagt: Daten rein und eine Möglichkeit auf immer die gleiche (und wiederverwendbare) Weise Daten herauszubekommen.
[...]
Ok. Aber bei der Problematik, dass 'die()' keine gute Reaktion auf einen Fehler ist, geht es nicht (nur) darum, den Fehler zu protokollieren, sondern in erster Linie um Anwenderfreundlichkeit: Auf den Fehler *reagieren*.
Ggf. sollten Usereingaben zwischengespeichert werden, wenn sie nicht unmittelbar verarbeitet werden können. Oder Formulare wiederum angeboten werden mit der Nachricht, dass die Verarbeitung nicht geklappt hat. Die Formular entweder leer oder vorbelegt mit den vorherigen Nutzereingaben. All das abhängig von Sicherheits- und Aktualitätsaspekten (sind Passwörter im Spiel, Tocttou...).
Abgesehen davon kann es sein, dass das Skript noch tausend andere Dinge treibt, die sich nicht darum scheren, ob an einer Stelle eine Datenbankabfrage klappt oder nicht.
Das sind doch alles Dinge, die eine allgemeine Fehlerbehandlungsklasse nicht weissen und leisten kann. Und wenn man wirklich das Skript abbrechen will, dann kann man wenigstens noch so nett sein, eine vollständige HTML-Seite rauszugeben, in der ne Nachricht steht, was los ist. Und diese Nachricht ist nicht die mysql-Fehlermeldung. Die geht den User nämlich nix an.
Viele Grüße,
der Bademeister