PHPKonf 2020 Online

Throwable

(PHP 7, PHP 8)

Einführung

Throwable ist in PHP 7 das zugrundeliegende Interface aller Objekte, die mittels des throw-Statements geworfen werden können, inklusive Error und Exception.

Hinweis:

PHP-Klassen können das Interface Throwable nicht direkt implementieren und müssen stattdessen von Exception abgeleitet werden.

Interface-Übersicht

Throwable {
/* Methoden */
abstract public getMessage ( ) : string
abstract public getCode ( ) : int
abstract public getFile ( ) : string
abstract public getLine ( ) : int
abstract public getTrace ( ) : array
abstract public getTraceAsString ( ) : string
abstract public getPrevious ( ) : Throwable
abstract public __toString ( ) : string
}

Inhaltsverzeichnis

add a note add a note

User Contributed Notes 2 notes

up
71
mlocati at gmail dot com
3 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
1
thisbug at foxmail dot com
10 months 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