Dokumentation zu Klammeraffe/Abbruchverhalten
Gerd
- php
Hi,
in der PHP Doku (http://de3.php.net http://www.php.net/manual/en/index.php) finde ich die Beschreibung über die Verwendung des Klammeraffen vor eine Anweisung nicht (mehr / habe sie mal irgendwann gefunden). Ich weiss das der Klammeraffe den Abbruch bei Fehlern verhidert .... aber ich würde es gern in der Doku nachlesen.
Danke fall jemand das Kapitel parat hat! Gerd
Lieber Gerd,
Ich weiss das der Klammeraffe den Abbruch bei Fehlern verhidert .... aber ich würde es gern in der Doku nachlesen.
http://www.php.net/manual/de/language.operators.errorcontrol.php
Liebe Grüße,
Felix Riesterer.
Hallo Felix Riesterer,
herzlichen Danke! Gerd
Zusatzfrage, wozu ist das gut? Wann will man Fehler unterdrücken und undefinierte Scripte laufen lassen?
Hi!
Zusatzfrage, wozu ist das gut? Wann will man Fehler unterdrücken und undefinierte Scripte laufen lassen?
Man will dann Fehlermeldungen unterdrücken, wenn man sie sowieso auswertet, aber den Text dazu nicht angezeigt bekommen möchte, den PHP bei manchen Funktionsaufrufen ausgibt. PHP kann nicht feststellen, dass man Fehler erwartet und darauf reagiert. Darum weiß es auch nicht, wann es angemessen ist, eine Meldung auszugeben und wann nicht. Das sagt man ihm individuell mit einem @ vor der Funktion.
Lo!
Hello,
Zusatzfrage, wozu ist das gut? Wann will man Fehler unterdrücken und undefinierte Scripte laufen lassen?
Man will dann Fehlermeldungen unterdrücken, wenn man sie sowieso auswertet, aber den Text dazu nicht angezeigt bekommen möchte, den PHP bei manchen Funktionsaufrufen ausgibt. PHP kann nicht feststellen, dass man Fehler erwartet und darauf reagiert. Darum weiß es auch nicht, wann es angemessen ist, eine Meldung auszugeben und wann nicht. Das sagt man ihm individuell mit einem @ vor der Funktion.
( vor dem Statement... die Unterdrückung der automatischen Fehlermeldungen funktiniert nicht nur bei Funktionen, sondern bei jedem Statement )
Aber das Unangenehme bei PHP bis zum heutigen Tage ist, dass es keine eindutigen Fehlernummern schmeißt, sondern nur blöde Fehlertexte. Die sind zwar auch "eindeutig", aber es gibt bis heute keine offizielle Liste aller Texte. Ich hoffe, dass das in PHP 6 endlich geändert wird!
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo,
die Unterdrückung der automatischen Fehlermeldungen funktiniert nicht nur bei Funktionen, sondern bei jedem Statement
nein, das eben nicht, wie auch die Beschreibung betont. Er kann vor *Ausdrücken* (expressions) verwendet werden, nicht vor beliebigen Statements.
Beispiel:
@return foo(x); // Falsch, ergibt einen Parse Error, weil nach dem @ ein Ausdruck erwartet wird
return @foo(x); // Okay, Fehler bei Auswerten von foo(x) werden unterdrückt
Aber das Unangenehme bei PHP bis zum heutigen Tage ist, dass es keine eindutigen Fehlernummern schmeißt, sondern nur blöde Fehlertexte. Die sind zwar auch "eindeutig", aber es gibt bis heute keine offizielle Liste aller Texte. Ich hoffe, dass das in PHP 6 endlich geändert wird!
Inwiefern würde dir das helfen? - Normalerweise lese ich den Wortlaut der Fehlermeldung und verstehe, was PHP mir damit sagen will. Oder ich verstehe es nicht und suche nach dem Wortlaut. Das ist auch nicht mehr Aufwand als nach einer Fehlernummer zu suchen.
So long,
Martin
Hello,
Aber das Unangenehme bei PHP bis zum heutigen Tage ist, dass es keine eindutigen Fehlernummern schmeißt, sondern nur blöde Fehlertexte. Die sind zwar auch "eindeutig", aber es gibt bis heute keine offizielle Liste aller Texte. Ich hoffe, dass das in PHP 6 endlich geändert wird!
Inwiefern würde dir das helfen? - Normalerweise lese ich den Wortlaut der Fehlermeldung und verstehe, was PHP mir damit sagen will. Oder ich verstehe es nicht und suche nach dem Wortlaut. Das ist auch nicht mehr Aufwand als nach einer Fehlernummer zu suchen.
Diese Frage hätte ich nun gerade von Dir nicht erwartet!
Eine Fehlermeldung ist doch nichts Böses, sondern eine Möglichkeit, auf (erwartete) Laufzeitvarianzen eines Programmes zu reagieren. Und das möchte ich dann bitte auch gezielt tun können. Dafür muss ich die Varianzen und ihre Meldungen aber auch kennen. Bei PHP ist das leider immer noch ein ziemliches Herumgestocher, alle erwartbaren Reaktionen (ihre Texte) herauszufinden.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg