Einführung
Während der Entwicklung ist es fast unvermeidlich, Fehler und Ausnahmen zu begegnen. Für PHP -Entwickler ist die Handhabung von Fehlern und Ausnahmen ein kritischer Schritt zur Gewährleistung der Code -Stabilität und -zuverlässigkeit. Dieser Artikel führt Sie durch die effektive Fang- und Ausführung von Fehlern und Ausnahmen in PHP und liefert nützliche Debugging -Informationen.
1. Einführung in Fehler und Ausnahmen
In PHP sind Fehler und Ausnahmen zwei verschiedene Konzepte. Fehler werden normalerweise durch PHP-Dolmetscher oder Systeme verursacht, wie z. B. Syntaxfehler oder Speicherüberläufe, während Ausnahmen häufig durch logische Probleme im Code verursacht werden, z. Wenn diese Probleme auftreten, versucht PHP, den entsprechenden Fehler oder den Ausnahmebehandler auszuführen.
2. Fehlerbehandlung
Fehlerberichterstattung
PHP bietet unterschiedliche Fehlerberichterstattungsstufen, und Entwickler können auswählen, welche Fehlermeldungen nach Bedarf angezeigt werden sollen. Häufige Fehlerberichterstattungsstufen sind:
- E_ERROR: Fataler Fehler, der das Skript beendet, um die Ausführung zu beenden.
- E_WARNING: Warnfehler, das Skript endet nicht.
- E_NOTICE: Normale Eingabeaufforderung, z. B. nicht initialisierte Variable usw.
- E_ALL: Zeigt alle Fehler, Warnungen und Aufforderungen an.
Verwenden Sie die Funktion "Fehler_reporting () , um die Fehlerebene festzulegen. Das Codebeispiel lautet wie folgt:
<?php
// Zeigen Sie alle Fehler、Warnung und schnelle Informationen
error_reporting(E_ALL);
?>
Benutzerdefinierte Fehlerhandler
In PHP können Sie Fehlerhandler anstelle der Standardhandhabungsmethode anpassen. Legen Sie eine benutzerdefinierte Fehlerbehandlungsfunktion mit der Funktion `set_error_handler ()` Folgendes fest: Der Beispielcode ist der Beispielcode:
<?php
// Benutzerdefinierte Fehlerbehandlungsfunktionen
function customError($errno, $errstr, $errfile, $errline) {
echo "<b> Fehler: [$ errno] $ errstr - $ errfile: $ errline ";
}
// Setzen Sie benutzerdefinierte Fehlerhandler set_error_handler ("customError");
?>
Auf diese Weise können Sie unterschiedliche Verarbeitungslogik basierend auf unterschiedlichen Ebenen und Arten von Fehlern durchführen, z. B. Protokollierung oder Senden von E -Mail -Benachrichtigungen.
3. Ausnahmebehandlung
Wirf eine Ausnahme
In PHP können Sie die "Throw` -Anweisung" verwenden, um Ausnahmen zu werfen. Sie können PHP-integrierte Ausnahmeklasse oder Ausnahmeklasse anpassen. Hier ist der Beispielcode für das Auslegen einer Ausnahme:
<?php
// Wirf eine definierte Ausnahme
throw new Exception("Something went wrong.");
// Passen Sie die Ausnahmeklasse an und werfen Sie sie ab
class CustomException extends Exception {
public function __construct($message, $code = 0, Throwable $previous = null) {
parent::__construct($message, $code, $previous);
}
}
throw new CustomException("Custom error occurred.");
?>
Ausnahmen fangen
In PHP können Sie die Anweisung "Try ... Catch" verwenden, um Ausnahmen zu fangen und zu behandeln. `try` code, der im Codeblock auftreten kann, während" Catch "-Codeblock die Verarbeitungslogik enthält, wenn die Ausnahme auftritt. Beispiele sind wie folgt:
<?php
try {
// Code ausführen, der Ausnahmen ausführen kann
throw new Exception("Something went wrong.");
} catch (Exception $e) {
// Ausnahmebehandlung
echo "Caught exception: " . $e-> getMessage ();
}
?>
Im Catch -Code -Block erhalten Sie detaillierte Ausnahmeinformationen über die Methode GetMessage () des Ausnahmeobjekts.
Mehrere Ausnahmen erfassen
PHP unterstützt die Verwendung mehrerer "Catch" -Codeblockungen, um verschiedene Arten von Ausnahmen zu fangen. Beispiele sind wie folgt:
<?php
try {
throw new Exception("Something went wrong.");
} catch (CustomException $e) {
// Behandeln Sie benutzerdefinierte Ausnahmen
echo "Caught custom exception: " . $e-> getMessage ();
} catch (Ausnahme $ e) {
// andere Arten von Ausnahmen behandeln. "AUSGABE AUSBILDUNG:". $ e-> getMessage ();
}
?>
Wenn in diesem Code eine Ausnahme von Typ CustOMexception geworfen wird, gibt das Programm den ersten Catch -Code -Block ein. Wenn es sich um eine Ausnahme anderer Typen handelt, gibt das Programm den zweiten Catch -Code -Block ein.
4. Best Practices für Fehler und Ausnahmebehandlung
- Schalten Sie die Fehlerberichterstattung ein: In der Entwicklungsumgebung sollten alle Fehler und Warnungen aktiviert werden, um potenzielle Probleme rechtzeitig zu erkennen und zu beheben. In Produktionsumgebungen wird empfohlen, nur schwerwiegende Fehlermeldungen anzuzeigen, die durch Einstellen von "error_reporting (e_all & ~ e_notice)` angezeigt werden können.
- Die Verwendung benutzerdefinierter Fehlerhandler: Benutzerdefinierte Fehlerhandler können besser nachverfolgen und protokollieren, insbesondere die Protokollierungsfehlerinformationen in Protokollen, ist eine wichtige Möglichkeit, Probleme zu lösen.
- Werfen Sie aussagekräftige Ausnahmen: Wenn bestimmte Probleme vorhersehbar sind, werfen Sie sinnvolle Ausnahmegeräte aus, um die Hauptursache der Ausnahme auszudrücken und geeignete Handhabungsmaßnahmen beim Aufnehmen von Ausnahmen zu erleichtern.
abschließend
Fehler- und Ausnahmebehandlung sind wichtige Teile der PHP -Entwicklung. Durch die rationale Bestimmung der Fehlerberichterstattung und Verwendung benutzerdefinierter Fehlerhandler können wir Fehler effizienter verwalten und verarbeiten. Gleichzeitig kann durch korrektes Werfen und Fangen von Ausnahmen sichergestellt werden, dass das Programm bei Problemen eindeutige Fehlerinformationen liefern kann, wodurch die Stabilität und Zuverlässigkeit des Codes verbessert wird. Hoffentlich können die in diesem Artikel bereitgestellten Best Practices Ihnen helfen, mit Fehlern und Ausnahmebehandlung in der PHP -Entwicklung besser umzugehen.