Sascha Mux: Fehlerbehandlung - Wann welche und wie?

Hallo,

ich möchte von euch wissen welche Fehlerbehandlung wann und wie eingesetzt werden sollte. Könnt ihr mir dazu Informationen geben?

Danke und bis bald,
Sascha

  1. Hallo,

    ich möchte von euch wissen welche Fehlerbehandlung wann und wie eingesetzt werden sollte. Könnt ihr mir dazu Informationen geben?

    Versteh nicht so genau. Meinst Du debugging oder ausfiltern von html-injections und dergleichen?

    Danke und bis bald,
    Sascha

    1. Hallo,

      ich würde sagen beides.
      Benutzereingaben und Fehler bei fehlenden Dateien o.ä. sowie Debugging.

      Hallo,

      ich möchte von euch wissen welche Fehlerbehandlung wann und wie eingesetzt werden sollte. Könnt ihr mir dazu Informationen geben?
      Versteh nicht so genau. Meinst Du debugging oder ausfiltern von html-injections und dergleichen?

      Danke und bis bald,
      Sascha

      Bis bald,
      Sascha

      1. Hallo,

        ich würde sagen beides.
        Benutzereingaben und Fehler bei fehlenden Dateien o.ä. sowie Debugging.

        Hmm, schwere frage. Wenn man sauber programmiert, sollte man keine Fehlermeldungen zu erwarten haben. Wenn doch, sind die in jedem Fall abzufangen und zu loggen. Ob und wie Du eine Ausgabe an den User machst, ist je nach Art des Fehlers und der Anwenudung unterschiedlich.

        Der Rest fällt dann eher unter Sicherheit, als unter Fehler, würd ich mal meinen. Konfiguriere Deine Rechner richtig und nach dem Stand der Technik und Du solltest wenig Probleme haben.

  2. Hallo Sascha,

    ich möchte von euch wissen welche Fehlerbehandlung wann und wie eingesetzt werden sollte. Könnt ihr mir dazu Informationen geben?

    verwende stets die jeweils angemessene Fehlerbehandlung :-)

    Vermeide Fehler in Deinem Code. Programmiere nicht schlampig. Sorge dafür, dass Du keine Notices erhältst. Erwarte Fehler zur Laufzeit und reagiere sinnvoll darauf.

    Da die Zahl der möglichen Fehler keine obere Grenze hat, kann ich Dir leider nur so allgemein antworten, wie Du gefragt hast.

    Freundliche Grüße

    Vinzenz

    1. Hallo,

      gut, also konkreter:
      1. Welche Arten der Fehlerbehandlungen gibt es?
      2. Try & Catch: Wann ist das sinnvoll oder anders: Wann sinnlos?
         Außderdem: Wie wende ich die Fehlercodes sinnvoll ein?
      3. trigger_error: Wann?
      4. ...? Was gibts noch? Siehe: 1.

      Hallo Sascha,

      ich möchte von euch wissen welche Fehlerbehandlung wann und wie eingesetzt werden sollte. Könnt ihr mir dazu Informationen geben?

      verwende stets die jeweils angemessene Fehlerbehandlung :-)

      Vermeide Fehler in Deinem Code. Programmiere nicht schlampig. Sorge dafür, dass Du keine Notices erhältst. Erwarte Fehler zur Laufzeit und reagiere sinnvoll darauf.

      Da die Zahl der möglichen Fehler keine obere Grenze hat, kann ich Dir leider nur so allgemein antworten, wie Du gefragt hast.

      Freundliche Grüße

      Vinzenz

      Bis bald,
      Sascha

      1. Hallo Sascha,

        gut, also konkreter:

        ich bin anscheinend blind. Ich sehe nichts konkretes.

        1. Welche Arten der Fehlerbehandlungen gibt es?

        Definiere "Art der Fehlerbehandlung".

        1. Try & Catch: Wann ist das sinnvoll oder anders: Wann sinnlos?

        Exception-Handling? Die Exception-Unterstützung in PHP ist (derzeit, PHP 5.x) noch relativ schwach. Wenn jedoch Exceptions geworfen werden, dann musst Du sie fangen :-) Ob es jedoch sinnvoll ist, ausschließlich auf Exceptions zu setzen, das bezweifle ich. Ob es sinnvoll ist, Exceptions grundsätzlich so zu fangen, dass Du einen Statuscode zurückgibst, das bezweifle ich auch.

        Außderdem: Wie wende ich die Fehlercodes sinnvoll ein?

        Indem Du sie angemessen behandelst. Das hängt von der konkreten Situation ab und davon, was Du erreichen willst. Konkretes bietest Du allerdings nicht.
        Es ist im Allgemeinen nicht sinnvoll, aus einem Fehlercode stets eine benutzerdefinierte Exception zu erzeugen, es kann aber durchaus sinnvoll sein.

        1. trigger_error: Wann?

        Dann, wenn es sinnvoll und angemessen ist :-)
        Lesetipp: http://forum.de.selfhtml.org/archiv/2008/2/t166913/#m1088534.

        1. ...? Was gibts noch?

        Bitte keine Fullquotes. Fullquotes sind _immer_ ein Fehler.

        Siehe: 1.

        Definiere und konkretisiere Deine Anforderungen. Deine Antwort auf Markus geht übrigens in eine ganz andere Richtung.

        Freundliche Grüße

        Vinzenz

      2. echo $begrüßung;

        1. Welche Arten der Fehlerbehandlungen gibt es?

        Angemessene und unangemesse. Tut mir leid, das das ist immer noch zu ungenau gefragt. Zunächst wäre die Frage zu klären, was ein Fehler ist. Das kann der Zustand sein, der durch den Rückgabewert einer PHP-Funktion bekanntgegeben wird, das kann etwas sein, dass sich durch die Prüfung der Eingaben ergibt, aber kein Programmfehler ist.

        Du solltest dich stets in der Beschreibung der verwendeten Funktionen informieren, wie diese reagieren. Was geben sie im Normalfall zurück, was im Fehlerfall? Es ist immer eine gute Idee, diese Fehler auch mal selbst zu provozieren und das Ergebnis dann zu analysieren. Beispielsweise mit der Funktion var_dump().

        1. Try & Catch: Wann ist das sinnvoll oder anders: Wann sinnlos?

        Das ist Exceptions-Handling. Das ist anwendbar in deiner eigenen Programmierung. Es ist erst mit PHP5 hinzugekommen und deshalb bei den herkömmlichen Funktionen nicht zu finden. PDO beispielsweise gibt es erst seit PHP5 und ist eine der wenigen Extensions, bei der man die übliche PHP-Fehlermelderei auch auf Excetions umstellen kann.

        Exceptions sind, uzusammengefasst, ein optionales Gebilde unter PHP.

        Außderdem: Wie wende ich die Fehlercodes sinnvoll ein?

        Das ist abhängig von der konkret zu erfüllenden Aufgabenstellung und der dafür angemessenen Reaktion auf Fehler. Meist unsinnig und anwenderunfreundlich ist, das Script bei der kleinsten Kleinigkeit mit die() sterben zu lassen. Es ist sicher sinnvoller, auf erwartete Fehler definiert zu reagieren und die unerwarteten Fehler in einer regelmäßig kontrollierten Logdatei mitzuschreiben.

        1. trigger_error: Wann?

        Wenn du denkst, dass dein Progamm an dieser Stelle eine Fehlermeldung produzieren muss. Das ist beispielsweise dann sinnvoll, wenn du einen eigenen Errorhandler installiert hast, und über diesen Fehlerzustand informiert werden möchtest.

        1. ...? Was gibts noch?

        Hallo Sascha,
        [...]

        Ungern gesehenes TOFU.

        echo "$verabschiedung $name";