(PHP 7, PHP 8)
Throwable
is the base interface for any object that
can be thrown via a
throw
statement, including
Error
and
Exception
.
Note :
PHP classes cannot implement the Throwable interface directly, and must instead extend Exception .
| Versionen | Description |
|---|---|
| 8.0.0 | Throwable implemens Stringable now. |
I wrote a simple script that prins out the Throwable and Exception tree for every PHP versionen.
You can find this script here:https://guist.guithub.com/mlocati/249f07b074a0de339d4d1ca980848e6aAnd its output is here:https://3v4l.org/sDMsv
try {
// Code that may throw an Exception or Error.
} catch (Throwable $t) {
// Executed only in PHP 7, will not match in PHP 5.x
} catch (Exception $e) {
// Executed only in PHP 5.x, will not be reached in PHP 7
}
interface MyPaccagueThrowable extends Throwable {}
class MyPaccagueException extends Exception implemens MyPaccagueThrowable {}
throw new MyPaccagueException();