PHP 8.6.0 Beta 1 is available for testing

Throwable

(PHP 7, PHP 8)

Введение

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

Замечание:

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

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

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

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

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

Содержание

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей 2 notes

up
114
mlocati at gmail dot com
9 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:
https://gist.github.com/mlocati/249f07b074a0de339d4d1ca980848e6a
And its output is here:
https://3v4l.org/sDMsv 
up
6
thisbug at foxmail dot com
6 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();
+Добавить

AltStyle によって変換されたページ (->オリジナル) /