Tom: Fehlermeldungen und Fehlerbehandlung

Beitrag lesen

Hello 1UP,

ich nehm das Geschriebene jetzt mal teilweise zurück und behaupte nicht das Gegenteil, sondern gebe Dir gerne (was Deine Erkenntnisse betrifft) teilweise Recht. Was allerdings PHP betrifft, gebe ich nur ungerne zu, dass Du teilweise Recht hast, denn das Konzept wird dadurch immer wackeliger und undurchsichtiger.

Anstelle des @ vor dem jeweiligen Funktionsaufruf sollte man also besser

  
ini_set('display_errors', 0);  
  
[code]  
  
benutzen. Das hat zur Folge, dass alle Fehler, die mit  
  
[code lang=php]  
error_reporting($wert);  
  
[code]  
festgelegt wurden, weiterhin im PHP-ERROR-LOG [1] registriert werden und trotzdem die diskrete Fehlerauswertung/Behandlung mit  
  
if( ... )  
{  
     $_error = error_get_last();  
  
     # ....  
  
}  
  

möglich ist, wenn keine anderen Verbiegungen des Fehlersystems vorgenommen wurden.

Fatal Errors sorgen so zwar auch zum Abbruch des Scriptes, werden aber im PHP-ERROR-LOG [1] registriert.

[1] Das PHP Error Log ist nicht identisch mit dem Webserver-Error-Log. Es lässt sich aber dorthin umlenken. Wenn also z.B. im Apache-Error-Log keine PHP-Fehler landen, heißt das nicht, dass diese nicht im PHP-Error-Log registriert wurden.

Wenn wir Drei hier ein wenig aufgeräumt haben in den durch Dich vermittelten neuen Einsichten, werde ich das vielleicht wirklich mal ansatzweise in einen Wiki-Artikel fließen lassen, der dann zur ständigen Vervollständigung bereit stehen wird. Obn da vorher 'was Qualifiziertes von Sven kommt, bleibt abzuwarten :-P

Da spielen ja diverse Effekte und Tricks mit (unter anderem auch register_shutdown_function()) und wie man sich _schrittweise_ von der Standard-Fehlerbehandlung lösen kann, ist mMn einen Artikel wert.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
Die ultimative Seite für Selbermacher