summaryrefslogtreecommitdiff
path: root/vendor/symfony/debug/Exception
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/symfony/debug/Exception')
-rw-r--r--vendor/symfony/debug/Exception/FlattenException.php32
1 files changed, 32 insertions, 0 deletions
diff --git a/vendor/symfony/debug/Exception/FlattenException.php b/vendor/symfony/debug/Exception/FlattenException.php
index d016bb2fb4..304df0405c 100644
--- a/vendor/symfony/debug/Exception/FlattenException.php
+++ b/vendor/symfony/debug/Exception/FlattenException.php
@@ -27,6 +27,7 @@ class FlattenException
private $code;
private $previous;
private $trace;
+ private $traceAsString;
private $class;
private $statusCode;
private $headers;
@@ -239,6 +240,8 @@ class FlattenException
public function setTraceFromThrowable(\Throwable $throwable)
{
+ $this->traceAsString = $throwable->getTraceAsString();
+
return $this->setTrace($throwable->getTrace(), $throwable->getFile(), $throwable->getLine());
}
@@ -324,4 +327,33 @@ class FlattenException
return $array['__PHP_Incomplete_Class_Name'];
}
+
+ public function getTraceAsString()
+ {
+ return $this->traceAsString;
+ }
+
+ public function getAsString()
+ {
+ $message = '';
+ $next = false;
+
+ foreach (array_reverse(array_merge([$this], $this->getAllPrevious())) as $exception) {
+ if ($next) {
+ $message .= 'Next ';
+ } else {
+ $next = true;
+ }
+ $message .= $exception->getClass();
+
+ if ('' != $exception->getMessage()) {
+ $message .= ': '.$exception->getMessage();
+ }
+
+ $message .= ' in '.$exception->getFile().':'.$exception->getLine().
+ "\nStack trace:\n".$exception->getTraceAsString()."\n\n";
+ }
+
+ return rtrim($message);
+ }
}