PHP Conference Nagoya 2025

Exception::__toString

(PHP 5, PHP 7, PHP 8)

Exception::__toString例外の文字列表現

説明

public Exception::__toString(): string

例外を文字列で表現したものを返します。

パラメータ

この関数にはパラメータはありません。

戻り値

例外を文字列で表現したものを返します。

例1 Exception::__toString() の例

<?php
try {
throw new
Exception("Some error message");
} catch(
Exception $e) {
echo
$e;
}
?>

上の例の出力は、 たとえば以下のようになります。

exception 'Exception' with message 'Some error message' in /home/bjori/tmp/ex.php:3
Stack trace:
#0 {main}

参考

add a note

User Contributed Notes 1 note

up
1
devnull
4 months ago
The Exception __toString implementation will also include the string representation of previous exceptions chained to this exception, _before_ the string representation of the current exception.

For example:

<?php
class OuterException extends Exception {}
class
MiddleException extends Exception {}
class
InnerException extends Exception {}

$excA = new InnerException("inner exception", 0);
$excB = new MiddleException("middle exception", 0, $excA);
$excC = new OuterException("outer exception", 0, $excB);

echo
"The exception is:\n$excC";
?>

will print the following:

The exception is:
InnerException: inner exception in test.php:6
Stack trace:
#0 {main}

Next MiddleException: middle exception in test.php:7
Stack trace:
#0 {main}

Next OuterException: outer exception in test.php:8
Stack trace:
#0 {main}
To Top