Aktueller Standort: Startseite> Neueste Artikel> So vermeiden Sie das Ignorieren von Problemen aufgrund des PHP-Fehlers: ERROR_get_Last () funktioniert mit Try-Catch

So vermeiden Sie das Ignorieren von Problemen aufgrund des PHP-Fehlers: ERROR_get_Last () funktioniert mit Try-Catch

M66 2025-06-23

Bei der Entwicklung von PHP -Programmen können Fehler nicht vollständig vermieden werden. Unabhängig davon, ob es sich um Syntaxfehler, Logikfehler oder Laufzeitfehler handelt, können sie den normalen Betrieb der Anwendung beeinflussen. Das Auftreten von Fehlern bedeutet jedoch nicht unbedingt den Programmabsturz. Angemessener Fehlerbehebung kann den Entwicklern helfen, Fehler besser zu fangen und zu verwalten, um sicherzustellen, dass das Programm unter abnormalen Umständen immer noch normal laufen kann. In diesem Artikel wird untersucht, wie Fehler in PHP mit der Funktion "ERROR_GET_LAST () effektiv behandelt werden und angewendet werden können, um potenzielle Probleme zu ignorieren.

1. Fehlertyp und PHP -Fehlerbehandlungsmechanismus

Fehler in PHP können in zwei Kategorien unterteilt werden: tödliche Fehler und nicht tödliche Fehler . Ein fataler Fehler unterbricht die Ausführung des Programms, während ein fataler Fehler nur eine Warnung oder Benachrichtigung ist und das Programm weiterhin ausführen kann. PHP hört nicht auf, Code standardmäßig für nicht tödliche Fehler wie E_WARNING und E_NOTICE auszuführen, sondern zeichnet ihn im Fehlerprotokoll auf.

Dieses Standardverhalten führt häufig dazu, dass einige Probleme während der Entwicklung ignoriert werden, da der Fehler keine offensichtlichen Ausnahmen auslöst oder das Programm beendet. In diesem Fall sind sich Entwickler möglicherweise nicht über die Existenz des Fehlers bewusst, was dazu führt, dass potenzielle Fehler oder Leistungsprobleme ignoriert werden.

2. Verwenden Sie ERROR_GET_LAST (), um die letzte Fehlermeldung zu erhalten

Die Funktion " ERROR_GET_LAST () gibt ein assoziatives Array zurück, das die neuesten Fehlerinformationen enthält. Diese Funktion kann Entwicklern dabei helfen, Fehler in PHP -Skripten zu erfassen, ohne eine Ausnahme auszulösen, insbesondere wenn das Programm weiterhin ausgeführt wird, ohne explizit eine Ausnahme auszulösen.

 <?php
// Löschen Sie alle protokollierten Fehler, bevor Sie den Code ausführen
error_clear_last();

// Führen Sie einige Aktionen aus, die Fehler auslösen können
echo $undefined_variable;

// Holen Sie sich und geben Sie den letzten Fehler aus und geben Sie aus
$error = error_get_last();
if ($error) {
    echo "Error type: " . $error['type'] . "<br>";
    echo "Error message: " . $error['message'] . "<br>";
}
?>

In diesem Beispiel versuchen wir, auf eine undefinierte Variable zuzugreifen, die einen Fehler mit dem E_notice -Typ auslöst. Durch IRRAL_GET_LAST () können wir die falschen Informationen erfassen und entsprechende Handhabungsmaßnahmen ergreifen.

3.. Versuchsanweisung und Fehlerbehandlung

Die Anweisung von PHP wird verwendet, um Ausnahmen zu fangen und zu handhaben. Wenn eine Ausnahme auftritt, wenn das Programm ausgeführt wird, wird der Try -Code -Block unterbrochen und springt zum entsprechenden Catch -Code -Block für die Ausnahmeberechnung. Die Anweisung Try-Catch kann im Programm effektiv logische Fehler aufnehmen, fangen jedoch nicht alle Fehlertypen auf, insbesondere nicht tödliche Fehler wie E_WARNING .

Daher kann die Verwendung von ERRAL_GET_LAST () mit Try-Catch die Mängel beider ausgleichen. Wenn eine Ausnahme im Block zur Aussageanweisung auftritt, kann die Ausnahme durch Fang erwischt werden. Wenn keine explizite Ausnahme ausgelöst wird, kann ERROR_GET_LAST () zur Erfassung von Fehlerinformationen während der Skriptausführung verwendet werden.

 <?php
// Einrichten der benutzerdefinierten Fehlerbehandlungsfunktionen
set_error_handler(function($errno, $errstr, $errfile, $errline) {
    throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
});

try {
    // Die Ausführung von Code kann eine Ausnahme ausführen oder einen Fehler auslösen
    $result = 10 / 0;
} catch (Exception $e) {
    echo "Caught exception: " . $e->getMessage() . "<br>";
} catch (ErrorException $e) {
    echo "Caught error: " . $e->getMessage() . "<br>";
}

// verwenden error_get_last() Fangen Sie den letzten nicht tödlichen Fehler auf
$error = error_get_last();
if ($error) {
    echo "Last error type: " . $error['type'] . "<br>";
    echo "Last error message: " . $error['message'] . "<br>";
}
?>

Im obigen Code setzen wir eine benutzerdefinierte Fehlerbehandlungsfunktion über set_error_handler () . Wenn ein Fehler auftritt, wirft diese Funktion eine Errorexception aus, und wir fangen und verarbeiten sie dann im Block für Try-Catch -Anweisungen. Gleichzeitig verwenden wir auch Fehler_get_Last (), um nicht tödliche Fehler zu erfassen, die während der Programmausführung auftreten können.

4. Best Practices für Fehler umgehen

4.1 Verwenden Sie die entsprechende Fehlerebene

Um es zu vermeiden, potenzielle Fehler zu ignorieren, sollten Entwickler die Fehlerberichterstattung entsprechend den tatsächlichen Anforderungen des Projekts anpassen. In der Entwicklungsumgebung wird empfohlen, die E -Aall -Fehlerebene zu aktivieren, um sicherzustellen, dass alle Arten von Fehlern gefangen und gemeldet werden können. In Produktionsumgebungen können einige Fehlerberichte ausgeschaltet werden, um die Exposition sensibler Informationen zu vermeiden.

 // Aktivieren Sie alle Fehlerberichte in der Entwicklungsumgebung
error_reporting(E_ALL);
ini_set('display_errors', 1);

// Schalten Sie den Anzeigefehler in der Produktionsumgebung aus
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
ini_set('display_errors', 0);

4.2 Protokollierung

Die Protokollierung von Fehlermeldungen ist sehr wichtig, ob in der Entwicklungsphase oder in der Produktionsumgebung. Durch die Einrichtung eines geeigneten Protokollierungsmechanismus können Entwickler potenzielle Probleme im Hintergrund verfolgen und rechtzeitig beheben. Der Log -Dateipfad von PHP kann über Ini_Set () konfiguriert werden:

 ini_set('log_errors', 1);
ini_set('error_log', '/path/to/php-error.log');

4.3 Regelmäßige Überprüfung der Fehlerprotokolle

Die regelmäßige Überprüfung von Fehlerprotokollen ist eine gute Angewohnheit, um Probleme zu vermeiden. Auch wenn der Fehler nicht dazu führt, dass das Programm stürzt oder sofort Probleme entwickelt, können kleine Fehler über einen langen Zeitraum die Leistung oder Stabilität der Anwendung beeinflussen. Durch regelmäßiges Überprüfen von Protokolldateien können Entwickler potenzielle Risiken identifizieren und rechtzeitig beheben.

5. Zusammenfassung

PHP liefert umfangreiche Mechanismen für Fehlerhandhabungen, aber wenn nicht vernünftigerweise verwendet, können einige Fehler ignoriert werden, was die Stabilität und Zuverlässigkeit des Programms beeinflusst. Kombinieren Sie ERROR_GET_LAST () und Try-Catch können Fehler umfassender fangen und umgehen, wodurch potenzielle Probleme ignoriert werden können. Darüber hinaus können wir rational konfigurierende Fehlerstufen und Protokollierung helfen, Probleme rechtzeitig zu entdecken und zu lösen, wodurch die Codequalität und die Benutzererfahrung verbessert werden.