PHPs Exception-Klasse implementiert die ThrowableSchnittstelle. Die ErrorException-Klasse erbt die Exception-Klasse. ErrorException kann explizit ausgelöst werden, wenn Sie einen ansonsten ignorierten Fehler, z. B. eine Benachrichtigung oder Warnung, abfangen und behandeln möchten.
PHP Core enthält die folgenden vordefinierten Fehlerkonstanten
Wert | Konstante | Beschreibung |
---|---|---|
1 | E_ERROR | Schwerwiegender Laufzeitfehler. |
2 | E_WARNING | Laufzeitwarnung (nicht schwerwiegender Fehler). |
4 | E_PARSE | Fehler beim Parsen bei der Kompilierungszeit. |
8 | E_NOTICE | Laufzeitbenachrichtigung. |
16 | E_CORE_ERROR | Ein schwerwiegender Fehler, der beim ersten Start von PHP aufgetreten ist. |
32 | E_CORE_WARNING | Eine Warnung (nicht schwerwiegender Fehler), die beim ersten Start von PHP aufgetreten ist. |
64 | E_COMPILE_ERROR | Schwerwiegender Fehler bei der Kompilierung. |
128 | E_COMPILE_WARNING | Warnung zur Kompilierungszeit (nicht schwerwiegender Fehler). |
256 | E_USER_ERROR | Vom Benutzer generierte Fehlermeldung. |
512 | E_USER_WARNING | Benutzergenerierte Warnmeldung. |
1024 | E_USER_NOTICE | Benutzergenerierte Benachrichtigungsnachricht. |
2048 | E_STRICT | Wenn aktiviert, empfiehlt PHP Änderungen an Ihrem Code, um Code-Interoperabilität und Vorwärtskompatibilität sicherzustellen. |
4096 | E_RECOVERABLE_ERROR | Abfangbarer schwerwiegender Fehler. |
8192 | E_DEPRECATED | Laufzeitbenachrichtigung. |
16384 | E_USER_DEPRECATED | Vom Benutzer generierte Warnmeldung. |
32767 | E_ALL | Alle Fehler und Warnungen, E_STRICT |
Zusätzlich zu den von der Exception-Klasse geerbten Eigenschaften und Methoden führt die ErrorException-Klasse auch eine Eigenschaft und eine Methode ein, wie unten gezeigt –
protected int severity ; final public getSeverity ( void ) : int
Der Schweregrad der Ausnahme wird durch die Ganzzahl dargestellt, die dem Fehlertyp in der obigen Tabelle zugeordnet ist.
Im folgenden Skript wird die benutzerdefinierte Funktion errhandler über 通过set_error_handler() als Fehlerhandler festgelegt. Funktion . Es löst eine ErrorException aus, wenn ein schwerwiegender Fehler auftritt, der die Datei nicht lesen kann.
Live-Demonstration
<?php function errhandler($severity, $message, $file, $line) { if (!(error_reporting() & $severity)) { echo "no error"; return; } throw new ErrorException("Fatal Error:No such file or directory", 0, E_ERROR); } set_error_handler("errhandler"); /* Trigger exception */ try{ $data=file_get_contents("nofile.php"); echo $data; } catch (ErrorException $e){ echo $e->getMessage(); } ?>
Das obige Beispiel zeigt die folgende Ausgabe
Fatal Error:No such file or directory
Das obige ist der detaillierte Inhalt vonPHP ErrorException (PHP-Fehlerausnahme). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!