Throwable
(PHP 7, PHP 8)
はじめに
Throwable
は、throw
文でスロー可能なあらゆるオブジェクトが実装する基底インターフェイスです。
Error や Exception
も、これを実装しています。
注意:
PHP のクラスが Throwable インターフェイスを直接実装することはできません。 そのかわりに、Exception を継承する必要があります。
インターフェイス概要
/* メソッド */
/* 継承したメソッド */
}変更履歴
バージョン | 説明 |
---|---|
8.0.0 | Throwable は、 Stringable を新たに実装しました。 |
目次
- Throwable::getMessage — メッセージを取得する
- Throwable::getCode — 例外コードを取得する
- Throwable::getFile — オブジェクトが作られたファイル名を取得する
- Throwable::getLine — オブジェクトのインスタンスが作られた行番号を取得する
- Throwable::getTrace — スタックトレースを取得する
- Throwable::getTraceAsString — スタックトレースを文字列として取得する
- Throwable::getPrevious — ひとつ前の Throwable を返す
- Throwable::__toString — スローされたオブジェクトの文字列表現を取得する
+add a note
User Contributed Notes 2 notes
mlocati at gmail dot com ¶
7 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
thisbug at foxmail dot com ¶
4 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();
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google