phpbar.de logo

Mailinglisten-Archive

[php] php Fehlermeldungen patchen

[php] php Fehlermeldungen patchen

Max Winde php_(at)_phpcenter.de
Wed, 31 Jul 2002 18:08:10 +0200


Am Mittwoch den, 31. Juli 2002, um 17:38, schrieb Wolfgang Hauck:

> Hi Max,
>
> Nun doch noch mal was zu deinem Konzept:
>
> 1. Fehlermeldungen die den Syntax betreffen brechen dein Script
> sowieso ab,
> solche Scripts sind normalerweise eh grad in Bearbeitung.

Okay. Klar. Wobei ich selten nur ein oder zwei Zeilen parallel
bearbeite, sondern sehr oft - z.b. beim Erstellen einer neuen
Klasse - 100 oder 200 Zeilen in einem Rutsch schreibe.

> 2. Dein Script bricht nicht dort wo der Fehler gemacht wurde
> sondern dort
> wo er sich auswirkt (z.B. du liest irgendwo ne Variable aus, da
> steht null
> drin und übergibst diese als Divisor einer Funktion. Das Script
> wird in der
> Funktion abbrechen, nicht aber bei der Übergabe der Variablen)

Sure.

> 3. Selbst wenn dein Script nun dort hinspringt wo die Fehlermeldung
> ausgelöst wurde hast du noch lange nicht die Ursache gefunden
> (siehe oben).
> Es ist also nicht damit getan das Script zu öffnen in dem der
> Fehler
> ausgelöst wurde sondern wünschenswert die Ursache dafür zu
> ergründen. Dazu
> ist es aber notwendig den Inhalt der Variablen zu kennen. Die sind
> aber weg
> sobald das Script abgebrochen wurde.
>
> Ich habe mir dafür ein paar php - Includes geschrieben, die alle
> oder
> bestimmte Variablen auslesen und im Browserfenster anzeigen. So
> kann ich
> den Zustand vor und nach der Fehlermeldung  (mit _(at)_ kann man
> Fehlermeldungen
> unterdrücken) feststellen und entsprechend reagieren.

Ich habe mir dafür die Funktion qlog, die mir die Variablen in die
Cosole schreibt. Da laufen auch errormessages und ähnliches auf.

> IMHO bringt das was du vorhast garnichts, da ja nicht die Zeile in
> der der
> Fehler ausgelöst wurde fehlerhaft ist, sondern irgendwas davor.
>
> Zur Veranschaung nochmal ein Beispiel:
>
> Ich habe eine Klasse Namens Datenbank, die alle Zugriffe auf meine
> Datenbank regelt. Wenn ich nun einen falschen SQL - Befehl
> absetzte, wird
> über diese Klasse eine Fehlermeldung erzeugt und mit die
> kontrolliert
> abgebrochen.  Würde ich das nicht machen käme eine Fehlermeldung
> bei der
> Zeile in der die mysql_query abgesetzt wurde. Diese Datei bzw.
> Zeile hilft
> mir aber garnichts, da ja nicht die Klasse fehlerhaft ist sondern die
> Übergabe des SQL - Befehls. Da aber diese Klasse bei fast jeder
> Seite
> eingebunden ist weiss ich nicht einmal woher der fehlerhafte Aufruf
> überhaupt kommt (Du kannst ja in einem Script beliebig viele SQL -
> Statements absetzen).
>
> So frei nach dem Motto:
>
> A...karte gezogen
>
> Ich hoffe dir die Sachlage etwas verständlich gemacht zu haben?

Die Sachlage ist mir durchaus klar. Ich, höchst persönlich, sehe
mir aber dennoch gern die Zeile an, in der sich der Fehler
ausgewirkt hat, um mir erst mal wieder den Kontext in Gedächtnis zu
rufen. Im Idealfall finde in dort sogar ein Kommentar, den ich vor
langer, langer Zeile mal geschrieben habe ala "' Koennte unter
Umständen zu Problemen führen, wenn ... was aber im Augenblick
nicht passieren kann" Darum sehe ich ganz gerne erst mal kurz, wo
der Fehler aufgetreten ist, um ihn danach lösen zu können. Meine
ganz persönliche Art und Weise solche Probleme zu lösen.

Max


--

     [:: ]  projekt Brot
            max.winde_(at)_projekt-brot.de


php::bar PHP Wiki   -   Listenarchive