PHP Conference Japan 2024

Throwable

(PHP 7,PHP 8)

简介

Throwable 是任何可以通过 throw 语句抛出的对象的基接口,包括 ErrorException

注意:

PHP 类不能直接实现 Throwable 接口,而必须扩展 Exception

接口概要

interface Throwable extends Stringable {
/* 方法 */
public getMessage(): string
public getCode(): int
public getFile(): string
public getLine(): int
public getTrace(): array
public __toString(): string
/* 继承的方法 */
}

变更日志

版本 描述
8.0.0 Throwable 现在实现了 Stringable

目录

添加注释

用户贡献的注释 2 条注释

101
mlocati at gmail dot com
7 年前
我编写了一个简单的脚本,用于打印每个 PHP 版本的 Throwable 和 Exception 树。

您可以在此处找到此脚本
https://gist.github.com/mlocati/249f07b074a0de339d4d1ca980848e6a

其输出在这里
https://3v4l.org/sDMsv
6
thisbug at foxmail dot com
4 年前
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();
To Top