Anzeige
Tutorialbeschreibung

Fehlermeldungen unterdrücken und ändern

Fehlermeldungen unterdrücken und ändern

Fehlermeldungen in PHP unterdrücken oder die Ausgabe überschreiben

Wie das geht, werde ich euch hier zeigen


Fehlermeldungen in PHP unterdrücken, ändern oder die Ausgabe überschreiben
Wie das geht, werde ich euch hier zeigen. In diesem Tutorial werde ich euch erklären, wie ihr Fehlermeldungen in PHP unterdrückt, ausgebt oder die Ausgabe ändert.


INHALTSVERZEICHNIS

  1. Alle Fehler ausgeben
  2. Alle Fehler unterdrücken
  3. Bestimmte Fehler unterdrücken
  4. Fehler bei Funktionen unterdrücken
  5. Eigene Fehlermeldungen ausgeben bei Funktionen


Alle Fehler ausgeben

Während der Entwicklungsphase eines Projektes in PHP ist es oftmals nützlich, alle noch so kleinen Fehler auszugeben.
Wie oft ist es euch schon passiert, dass ihr Stundenlang nach einem Fehler sucht und dann feststellt, dass es nur ein Zeichendreher in einer Variable war?
Mir ist dies schon oft passiert.

Eine einfach Lösung ist error_reporting().
Um alle Fehler auszugeben setzt einfach den folgenden Code an den Anfang eurer Seite:
<?php
error_reporting
(E_ALL);
?>

Durch diesen Code gelingt es euch, alle Fehler auszugeben.




Alle Fehler unterdrücken

Um alle Fehlermeldungen zu unterdrücken, benutzt ihr einfach selbigen Code am anfang eurer Seite und ersetzt den Parameter der Funktion mit 0 :
<?php
error_reporting
(0);
?>

Somit habt ihr alle Fehlermeldungen der Seite abgeschaltet




Bestimmte Fehlermeldungen Unterdrücken

Kommen wir nun dazu bestimmte Fehler zu unterdrücken, oder besser gesagt bestimmte Fehler auszugeben.
Denn es ist in PHP nicht möglich anzugeben welche Fehler nicht gezeigt werden sollen, stattdessen können wir aber sagen, welche Fehler ausgegeben werden sollen.
Dazu benutzen wir weiterhin unsere Funktion error_reporting().
Diesmal übergeben wir ihr allerdings die Fehler die Wir sehen wollen. Dazu wählen wir aus folgender Liste
  • E_ERROR
  • E_WARNING
  • E_PARSE
  • E_NOTICE
  • E_CORE_ERROR
  • E_CORE_WARNING
  • E_COMPILE_ERROR
  • E_COMPILE_WARNING
  • E_USER_ERROR
  • E_USER_WARNING
  • E_USER_NOTICE
Um nun die Fehler auszugeben, die wir sehen wollen, können wir der Funktion ein oder mehrere dieser Parameter wie folgt übergeben:
<?php
// Ein Modus wählen
error_reporting(E_ERROR);
// Mehrere Modi wählen
error_reporting(E_ERROR E_WARNING E_NOTICE);
?>




Fehler bei Funktionen unterdrücken

Das Unterdrücken von Fehlern in Funktionen kann im alltäglichen Gebrauch zu einer nützlichen Unterstützung werden.
Und es gibt sogar Fälle, bei denen es "dringend" empfohlen wird. Zum Beispiel kann bei einem Fehler im Aufbau einer Verbindung
zu einer Datenbank sonst plötzlich dein Benutzername und Passwort zum Server stehen.

Das Unterdrücken von Fehlermeldungen von Funktionen ist dabei ganz einfach mit dem @ Zeichen erledigt.
Wollen wir oben genannten Fehler (hervorgerufen bei mysql_connect()) unterdrücken so können wir folgende Schreibweise benutzen:
<?php
@mysql_connect("falscher host","falscher name","falsches passwort");
?>

Wie Ihr seht, haben wir hier nur ein @ Zeichen hinzugefügt.
Dies lässt sich bei allen Funktionen machen, die keinen CRITICAL oder PARSE Error ausgeben. Diese Arten von Error kann man nicht auffangen "uncatchable"




Eigene Fehlermeldungen ausgeben bei Funktionen

Natürlich haben wir auch in PHP die Möglichkeit eigene Fehlermeldungen auszugeben. In fast allen fällen lässt sich dies durch die Notierung von
or die ("Fehlermeldung"); erledigen.
Um bei dem obigen Beispiel mit der MySQL-Verbindung zu bleiben, können wir zum Beispiel durch folgende Notierung unseren eigenen Fehler ausgeben, sollte einer auftreten.
<?php
mysql_connect
("falscher host","falscher name","falsches passwort")or
die(
"Das ist meine eigene Fehlermeldung");
?>

Wie in diesem Beispiel ersichtbar wird, wird unser befehl mysql_connect() nicht direkt mit einem Semikolon (;) beendet, sonder wird durch unsere Fehleranweisung erweitert. Das Ende des Befehls wird erst nach dem kompletten Code mit einem Semikolon (;) angegeben.

Besonders nützlich ist diese Notierung bei MySQL-Abfragen. Solltet ihr Probleme mit dem Abfragen von Daten aus der Datenbank haben, liegt dies oft an einem Fehler in der SQL-Anweisung. Um diese Fehlermeldungen zu bekommen könnt ihr folgende Notierung benutzen
<?php
mysql_query
("Falscher Befehl") or die(mysql_error());
?>

Ich hoffe ich konnte euch mit diesem Tutorial zeigen, wie man in PHP die Fehlermeldungen beeinflussen kann.
Besser ist es natürlich immer, wenn man so programmiert, dass keine Fehler auftreten die man unterdrücken muss ^^

Mit freundlichen Grüßen
Ch3ck3r

Kommentare
Achtung: Du kannst den Inhalt erst nach dem Login kommentieren.
Portrait von webarchitekt
  • 21.10.2009 - 11:43

Schließe mich dem Kommentar von erti an, dieses Tut ist nicht wirlich hilfreich und oberflächlich.
Trotzdem Danke - und Kritik ist immer auch Ansporn für Verbesserung !!

Portrait von mfgleo
  • 29.10.2008 - 18:13

Zitat: "Besser ist es natürlich immer, wenn man so programmiert, dass keine Fehler auftreten die man unterdrücken muss". dem stimme ich voll und ganz zu. Es könnte aber noch ein wenig mehr enthalten sein.

Alternative Portrait
-versteckt-(Autor hat Seite verlassen)
  • 03.07.2007 - 10:51

nicht sehr gut trotzdem hilfreich danke ;)

Portrait von M4tman
  • 27.06.2007 - 22:22

Befriedigendes Tut, aber Ty

Portrait von erti
  • 27.06.2007 - 15:01

Also ich geb dir mal 3 Punkte, weil mir das wesentliche, nämlich das richtige Error-Handling fehlt. Die Sachen die du gezeigt hast, findet man in jedem x-beliebigen Gästebuchtutorial im Netz. Man kann ja noch viel mehr machen, wie Fehlermeldungen abfangen und per e-mail senden lassen, oder mitloggen, oder die Fehlermeldungen umschreiben, damit sie nicht mehr so gefährlich sind usw...

Alternative Portrait
-versteckt-(Autor hat Seite verlassen)
  • 27.06.2007 - 11:19

ist okay. danke

Alternative Portrait
-versteckt-(Autor hat Seite verlassen)
  • 27.06.2007 - 09:36

Danke für das gute tutorial.

x
×
×