Wie Ausnahmen in PHP für HTML5and CSS3 Programmierung Catch

Real-life HTML5 und CSS3 Programmierung ist gefährlich. Viele Dinge können schief in PHP gehen. So ist die intelligente Art und Weise Daten zu programmieren ist defensive Programmierung

. Diese Praxis beinhaltet Fehler und versuchen, antizipieren sie anmutig zu lösen. PHP hat einige erweiterte Fehlerbehandlungstechniken zur Verfügung, die für die Aufgabe geeignet sind.

Stellen Sie sich einen Code geschrieben, die wie folgt aussah:

drucken 5 / 0-

Sie würden wahrscheinlich nicht tun, aber manchmal schlechter Code rutscht durch. Wenn Ihr Server eingerichtet, um Fehlermeldungen ohnmächtig werden, werden Sie etwas sehen.

bild0.jpg

Ausnahmebehandlung

Es gibt tatsächlich viel mehr los, als Sie vielleicht zunächst zu schätzen wissen. Das Standardverhalten von vielen PHP-Installationen ist es, Fehler zu verstecken. Jedoch Fehler auftreten, vor allem, wenn Sie Benutzereingaben erlauben. Dieser Code Listing einfängt explizit auf Fehler und meldet sie unabhängig von Servereinstellungen:

try.php

? Lt; phptry {5 / 0-} catch (Exception $ e) {print $ e-> getMessage () -} // Ende versuchen>?

Hier ist, was passiert:

  1. Verwenden Sie die Versuchen Stichwort, um anzuzeigen, potenziell gefährlichen Code.

    Das Versuchen Stichwort öffnet einen Code-Block (wie eine Schleife oder Bedingung) nach oben. Der gesamte Code zwischen Versuchen und Fang ist potenziell gefährlich.

  2. Legen Sie gefährlichen Code in der Versuchen Block.

    Jeder Code, der Fehler kann dazu führen, sollte innerhalb der platziert werden Versuchen Block. Der gefährlichste Code beinhaltet in der Regel Dinge, die der Programmierer nicht direkt steuern: Zugriff auf externe Dateien, Operationen an benutzerdefinierten Daten, oder durch Einwirkung von externen Programmen und Prozessen.

  3. Verwenden Sie die Fang Klausel Fehler zu antizipieren.

    Das Fang Klausel gibt das Ende des gefährlichen Code.

  4. Geben Sie die Ausnahmetyp.

    Der Parameter für die Fang Klausel ist ein Objekt vom Typ Ausnahme. PHP hat eine Reihe von eingebauten Ausnahmen, und oft eine Bibliothek oder ein Toolset werden neue Ausnahmen (Sie können auch sie selbst bauen, wenn Sie möchten).

  5. Verwalten Sie die Ausnahme.

    Das Fang Klausel öffnet sich ein weiteres Codeblock. Setzen Sie den Code in hier, dass das Problem zu lösen (oder zumindest sterben mit ein wenig Stil und Anmut - den Benutzer zu informieren, was vor schlurfenden diese sterbliche Hülle aus falsch gelaufen ist). Die häufigste Linie ist hier zu nennen print ($ e-> getMessage ()). Alle Ausnahmeobjekte haben ein getMessage () Verfahren, und diese Zeile wird die aktuelle Fehlermeldung.

Zu wissen, wann zu stoppen für Ausnahmen

Wenn der Server für das Debuggen einrichten (wie XAMPP standardmäßig ist), wird es in der Regel nicht notwendig sein, die Ausnahmebehandlung einzurichten, weil das Standardverhalten eines Debug-Setup ohnehin die Ausnahmen zu berichten ist. Es gibt ein paar Mal werden Sie noch explizite Ausnahmebehandlung wollen:

  • Sie befinden sich auf einem Server ohne Debug-Einstellungen: Sie können keinen Zugriff auf die Server-Konfiguration haben, so dass Sie möglicherweise nicht auf automatische Ausnahmeberichte drehen können. Manuelle Ausnahmeberichte immer noch durch.

  • Sie wollen etwas Besonderes: Die automatische Exception-Handler berichtet das Problem einfach. Wenn Sie etwas anderes tun wollen (zum Beispiel eine Standarddatei verwenden, wenn eine Datei nicht gefunden wird), müssen Sie eine benutzerdefinierte Exception-Handler für diese Situation.

  • Sie tun etwas exotisch: Spezialbibliotheken oft kommen mit ihren eigenen benutzerdefinierten Ausnahmen, und Sie werden eine Exception-Handler müssen diese Situationen abdecken.

Menü