PHP 8.1.24 Released!


(PHP 7, PHP 8)


Throwable является родительским интерфейсом для всех объектов, выбрасывающихся с помощью выражения throw, включая классы Error и Exception.


Классы PHP не могут напрямую реализовать интерфейс Throwable. Вместо этого они могут наследовать подкласс Exception.

Обзор интерфейсов

interface Throwable extends Stringable {
/* Методы */
public getMessage(): string
public getCode(): int
public getFile(): string
public getLine(): int
public getTrace(): array
public getTraceAsString(): string
public __toString(): string
/* Наследуемые методы */
public Stringable::__toString(): string

Список изменений

Версия Описание
8.0.0 Класс Throwable теперь реализует интерфейс Stringable.


add a note

User Contributed Notes 2 notes

mlocati at gmail dot com
6 years ago
I wrote a simple script that prints out the Throwable and Exception tree for every PHP version.

You can find this script here:

And its output is here:
thisbug at foxmail dot com
3 years ago
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 MyPackageThrowable extends Throwable {}

class MyPackageException extends Exception implements MyPackageThrowable {}

throw new MyPackageException();
To Top