我编写了一个简单的脚本,用于打印每个 PHP 版本的 Throwable 和 Exception 树。
您可以在此处找到此脚本
https://gist.github.com/mlocati/249f07b074a0de339d4d1ca980848e6a
其输出在这里
https://3v4l.org/sDMsv
(PHP 7,PHP 8)
Throwable 是任何可以通过 throw
语句抛出的对象的基接口,包括 Error 和 Exception。
注意:
PHP 类不能直接实现 Throwable 接口,而必须扩展 Exception。
版本 | 描述 |
---|---|
8.0.0 | Throwable 现在实现了 Stringable。 |
我编写了一个简单的脚本,用于打印每个 PHP 版本的 Throwable 和 Exception 树。
您可以在此处找到此脚本
https://gist.github.com/mlocati/249f07b074a0de339d4d1ca980848e6a
其输出在这里
https://3v4l.org/sDMsv
try {
// 可能抛出异常或错误的代码。
} catch (Throwable $t) {
// 仅在 PHP 7 中执行,在 PHP 5.x 中不匹配
} catch (Exception $e) {
// 仅在 PHP 5.x 中执行,在 PHP 7 中不会被执行到
}
interface MyPackageThrowable extends Throwable {}
class MyPackageException extends Exception implements MyPackageThrowable {}
throw new MyPackageException();