Klasse Exception
Die Klasse Exception stellt die Basisklasse für alle Exceptions in PHP dar.
Sie enthält die grundlegenden Methoden für die Arbeit mit Exceptions: Abrufen der Fehlermeldung,
des Fehlercodes, der Datei und der Zeile, in der die Exception aufgetreten ist, sowie des Aufrufstapels.
Beim Erstellen einer Exception können eine Nachricht, ein Fehlercode und eine vorherige Exception übergeben werden.
Syntax
new Exception(string $message = "", int $code = 0, Throwable $previous = null);
Beispiel
Erstellen und behandeln wir eine einfache Exception:
<?php
try {
throw new Exception('Something went wrong', 100);
} catch (Exception $e) {
echo 'Error: ' . $e->getMessage();
}
?>
Ergebnis der Codeausführung:
'Error: Something went wrong'
Beispiel
Verwenden wir die Hauptmethoden der Klasse Exception:
<?php
try {
throw new Exception('Test exception', 123);
} catch (Exception $e) {
echo 'Message: ' . $e->getMessage() . "\n";
echo 'Code: ' . $e->getCode() . "\n";
echo 'File: ' . $e->getFile() . "\n";
echo 'Line: ' . $e->getLine() . "\n";
}
?>
Ergebnis der Codeausführung (Beispiel):
'Message: Test exception
Code: 123
File: /path/to/file.php
Line: 3'
Beispiel
Holen wir uns den Aufrufstapel bei einer Exception:
<?php
function test() {
throw new Exception('Stack trace test');
}
try {
test();
} catch (Exception $e) {
print_r($e->getTrace());
}
?>
Ergebnis der Codeausführung (Beispiel):
[
[
'file' => '/path/to/file.php',
'line' => 5,
'function' => 'test',
'args' => []
]
]
Siehe auch
-
Klasse
ErrorException,
die Fehler als Exceptions darstellt -
Funktion
set_exception_handler,
die einen benutzerdefinierten Exception-Handler setzt