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
公開 getLine(): int
公開 getTrace(): 陣列
公開 __toString(): 字串
/* 繼承的方法 */
}

更新日誌

版本 說明
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 {
// 可能拋出 Exception 或 Error 的程式碼。
} 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