367 of 410 menu

Klasse ErrorException

Die Klasse ErrorException erbt von der Basisklasse Exception und wird verwendet, um PHP-Fehler in Exceptions umzuwandeln. Sie fügt zum Standardfunktionalität der Exceptions Informationen über den Schweregrad (severity) des Fehlers hinzu. Die Klasse ist besonders nützlich bei Verwendung mit der Funktion set_error_handler.

Syntax

new ErrorException( string $message = "", int $code = 0, int $severity = E_ERROR, string $filename = __FILE__, int $lineno = __LINE__, Throwable $previous = null );

Beispiel

Erstellen und behandeln wir eine ErrorException:

<?php try { throw new ErrorException('Critical error', 0, E_ERROR); } catch (ErrorException $e) { echo 'Error: ' . $e->getMessage(); echo ' Severity: ' . $e->getSeverity(); } ?>

Ergebnis der Codeausführung:

'Error: Critical error Severity: 1'

Beispiel

Wandeln wir standardmäßige PHP-Fehler in Exceptions um:

<?php function errorHandler($severity, $message, $file, $line) { throw new ErrorException($message, 0, $severity, $file, $line); } set_error_handler('errorHandler'); try { strpos(); // Falsche Anzahl an Argumenten } catch (ErrorException $e) { echo 'Caught exception: ' . $e->getMessage(); echo ' in ' . $e->getFile(); echo ' on line ' . $e->getLine(); } ?>

Ergebnis der Codeausführung (Beispiel):

'Caught exception: strpos() expects at least 2 parameters, 0 given in /path/to/file.php on line 10'

Beispiel

Holen wir uns Informationen über den Schweregrad des Fehlers:

<?php try { throw new ErrorException('Warning message', 0, E_WARNING); } catch (ErrorException $e) { echo 'Severity level: ' . $e->getSeverity(); echo ' Is warning: ' . ($e->getSeverity() === E_WARNING ? 'yes' : 'no'); } ?>

Ergebnis der Codeausführung:

'Severity level: 2 Is warning: yes'

Siehe auch

  • Klasse Exception,
    Basisklasse für alle Exceptions in PHP
  • Funktion set_error_handler,
    die einen benutzerdefinierten Fehlerbehandler setzt
Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen