From 9ba1ac34b7db0a29a4e224cec1a29656fbbf101c Mon Sep 17 00:00:00 2001 From: Alexander Makarov Date: Mon, 30 Aug 2021 23:39:11 +0300 Subject: [PATCH] Improve error message for NotFoundException --- src/Exception/NotFoundException.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Exception/NotFoundException.php b/src/Exception/NotFoundException.php index 194f635..36cf237 100644 --- a/src/Exception/NotFoundException.php +++ b/src/Exception/NotFoundException.php @@ -17,8 +17,15 @@ final class NotFoundException extends Exception implements NotFoundExceptionInte public function __construct(string $id, array $buildStack = []) { $this->id = $id; - $buildStackMessage = $buildStack ? ' while building ' . implode(' -> ', array_keys($buildStack)) : ''; - parent::__construct(sprintf('No definition or class found for %s%s.', $id, $buildStackMessage)); + + $message = $id; + if ($buildStack !== []) { + $buildStack = array_keys($buildStack); + $last = end($buildStack); + $message = sprintf('%s while building %s', $last, implode(' -> ', $buildStack)); + } + + parent::__construct(sprintf('No definition or class found for %s.', $message)); } public function getId(): string