Gerd: Dokumentation zu Klammeraffe/Abbruchverhalten

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

  1. 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.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Hallo Felix Riesterer,

      herzlichen Danke! Gerd

    2. Zusatzfrage, wozu ist das gut? Wann will man Fehler unterdrücken und undefinierte Scripte laufen lassen?

      1. 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!

        1. 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

          --
           ☻_
          /▌
          / \ Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de
          1. 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

            --
            Ich verdanke meinen Eltern so viel - besonders meiner Mutter und meinem Vater.
              (Dakota Fanning, US-Jungschauspielerin)
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
            1. 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

              --
               ☻_
              /▌
              / \ Nur selber lernen macht schlau
              http://bergpost.annerschbarrich.de