dedlfix: Fehler Warnings etc abfangen und am ENDE des Script anzeigen

Beitrag lesen

Tach!

Warum ein Array? Ein String genügt.

Im Prinzip ja. Aber warum gleich die Ausgabeformatierung an der datenerzeugenden Stelle vornehmen, noch dazu ohne jegliche Kontextbeachtung? Sowas ist bei den produktiven Teilen eines Script schon sehr nachteilig, weil man sich damit die weiteren Verwendungsmöglichkeiten auf "Ausgeben" einschränkt. Man kann das EVA-Prinzip auch bei solchen nur für den Programmierer nützlichen Funktionen einhalten, wenn es um mehr als einen zu Debug-Zwecken temporär eingefügten Code-Schnipsel geht. Die Sinnhaftigkeit des Vorgehens habe ich ja auch angezweifelt, aber wenigstens ordentlich kann man es ja machen. Das übt dann wenigstens für die wichtigen Sachen.

function customError($errno, $errstr, $errfile, $errline, $fatal=FALSE) {
     // Ob der Parameter fatal auf TRUE gesetzt wird musst Du beim Aufruf entscheiden.

Diese Funktion ist eine Callback-Funktion, die von PHP aufgerufen wird. Der Programmierer hat keine Chance, im Fehlerfall den $fatal-Parameter zu setzen. Da diese Funktion also nicht für einen manuellen Aufruf vorgesehen ist, ist ein Erweitern ihrer Signatur nicht sinnvoll, zumal der fünfte Parameter bereits eine Bedeutung hat. Siehe set_error_handler(). Der Teil mit dem $fatal ist also fatal falsch.

Dieser Code ist in "Phantastoskript" geschrieben

Warum zeichnest du dann den Code als PHP aus? PHP steht nicht für PHantastoskriPt.

und eine Handlungsanleitung welche die prinzipielle Vorgehensweise zeigt und soll nur eine umständliche oder unverständliche Beschreibung in menschlicher Sprache vermeiden. Er kann also fehlerhaft sein. Ähnlichkeiten zu PHP, Perl, Java, Javascript, Basic,  VBA, VBS, C, C++ oder jeder anderen Programmiersprache sind rein zufällig.

Mit anderen Worten: "Ich hab meine Lösung nicht mit der Realität verglichen. Der Disclaimer soll eigentlich nur vorbeugen, dass mir niemand wegen Fehlern ans Bein pinkeln kann." Ach, Fredstix, Du solltest doch wissen, dass solche Disclaimer nichts bringen.

dedlfix.