10000 Rename exception & add change log · symfony/symfony@a0c04e4 · GitHub
[go: up one dir, main page]

Skip to content

Commit a0c04e4

Browse files
committed
Rename exception & add change log
1 parent 91205f7 commit a0c04e4

File tree

6 files changed

+22
-28
lines changed

6 files changed

+22
-28
lines changed

src/Symfony/Component/Messenger/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ CHANGELOG
7171
only. Pass the `auto_setup` connection option to control this.
7272
* Added a `SetupTransportsCommand` command to setup the transports
7373
* Added a Doctrine transport. For example, use the `doctrine://default` DSN (this uses the `default` Doctrine entity manager)
74+
* [BC BREAK] A `HandlerFailedException` exception will be thrown if one or more handler fails.
7475

7576
4.2.0
7677
-----

src/Symfony/Component/Messenger/Exception/ChainedHandlerFailedException.php renamed to src/Symfony/Component/Messenger/Exception/HandlerFailedException.php

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,29 +9,36 @@
99
* file that was distributed with this source code.
1010
*/
1111

12-
declare(strict_types=1);
13-
1412
namespace Symfony\Component\Messenger\Exception;
1513

1614
use Symfony\Component\Messenger\Envelope;
1715

18-
class ChainedHandlerFailedException extends \RuntimeException implements ExceptionInterface
16+
class HandlerFailedException extends RuntimeException
1917
{
2018
/**
2119
* @var \Throwable[]
2220
*/
23-
private $nested;
21+
private $exceptions;
2422

2523
/**
2624
* @var Envelope
2725
*/
2826
private $envelope;
2927

30-
public function __construct(Envelope $envelope, \Throwable ...$nested)
28+
public function __construct(Envelope $envelope, \Throwable ...$exceptions)
3129
{
32-
parent::__construct($this->constructMessage($nested));
30+
$firstFailure = current($exceptions);
31+
32+
parent::__construct(
33+
1 === \count($exceptions)
34+
? $firstFailure->getMessage()
35+
: sprintf('%d handlers failed. First failure is: "%s"', \count($exceptions), $firstFailure->getMessage()),
36+
$firstFailure->getCode(),
37+
$firstFailure
38+
);
39+
3340
$this->envelope = $envelope;
34-
$this->nested = $nested;
41+
$this->exceptions = $exceptions;
3542
}
3643

3744
public function getEnvelope(): Envelope
@@ -44,18 +51,6 @@ public function getEnvelope(): Envelope
4451
*/
4552
public function getNestedExceptions(): array
4653
{
47-
return $this->nested;
48-
}
49-
50-
/**
51-
* @param \Throwable[] $nested
52-
*
53-
* @return string
54-
*/
55-
private function constructMessage(array $nested): string
56-
{
57-
return 1 === \count($nested) ?
58-
$nested[0]->getMessage() :
59-
sprintf('%d MessageHandler failed. First one failed with Message: %s', \count($nested), $nested[0]->getMessage());
54+
return $this->exceptions;
6055
}
6156
}

src/Symfony/Component/Messenger/Middleware/HandleMessageMiddleware.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
use Psr\Log\LoggerAwareTrait;
1515
use Psr\Log\NullLogger;
1616
use Symfony\Component\Messenger\Envelope;
17-
use Symfony\Component\Messenger\Exception\ChainedHandlerFailedException;
17+
use Symfony\Component\Messenger\Exception\HandlerFailedException;
1818
use Symfony\Component\Messenger\Exception\NoHandlerForMessageException;
1919
use Symfony\Component\Messenger\Handler\HandlersLocatorInterface;
2020
use Symfony\Component\Messenger\Stamp\HandledStamp;
@@ -79,7 +79,7 @@ public function handle(Envelope $envelope, StackInterface $stack): Envelope
7979
}
8080

8181
if (\count($exceptions)) {
82-
throw new ChainedHandlerFailedException($envelope, ...$exceptions);
82+
throw new HandlerFailedException($envelope, ...$exceptions);
8383
}
8484

8585
return $stack->next()->handle($envelope, $stack);

src/Symfony/Component/Messenger/Tests/Middleware/HandleMessageMiddlewareTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
namespace Symfony\Component\Messenger\Tests\Middleware;
1313

1414
use Symfony\Component\Messenger\Envelope;
15-
use Symfony\Component\Messenger\Exception\ChainedHandlerFailedException;
15+
use Symfony\Component\Messenger\Exception\HandlerFailedException;
1616
use Symfony\Component\Messenger\Handler\HandlersLocator;
1717
use Symfony\Component\Messenger\Middleware\HandleMessageMiddleware;
1818
use Symfony\Component\Messenger\Middleware\StackMiddleware;
@@ -52,7 +52,7 @@ public function testItAddsHandledStamps(array $handlers, array $expectedStamps,
5252

5353
try {
5454
$envelope = $middleware->handle($envelope, $this->getStackMock($nextIsCalled));
55-
} catch (ChainedHandlerFailedException $e) {
55+
} catch (HandlerFailedException $e) {
5656
$envelope = $e->getEnvelope();
5757
}
5858

src/Symfony/Component/Messenger/Tests/RetryIntegrationTest.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
<?php
22

3-
declare(strict_types=1);
4-
53
/*
64
* This file is part of the Symfony package.
75
*

src/Symfony/Component/Messenger/Worker.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
use Symfony\Component\Messenger\Event\WorkerMessageFailedEvent;
1616
use Symfony\Component\Messenger\Event\WorkerMessageHandledEvent;
1717
use Symfony\Component\Messenger\Event\WorkerMessageReceivedEvent;
18-
use Symfony\Component\Messenger\Exception\ChainedHandlerFailedException;
18+
use Symfony\Component\Messenger\Exception\HandlerFailedException;
1919
use Symfony\Component\Messenger\Exception\LogicException;
2020
use Symfony\Component\Messenger\Exception\UnrecoverableMessageHandlingException;
2121
use Symfony\Component\Messenger\Retry\RetryStrategyInterface;
@@ -124,7 +124,7 @@ private function handleMessage(Envelope $envelope, ReceiverInterface $receiver,
124124
try {
125125
$envelope = $this->bus->dispatch($envelope->with(new ReceivedStamp()));
126126
} catch (\Throwable $throwable) {
127-
if ($throwable instanceof ChainedHandlerFailedException) {
127+
if ($throwable instanceof HandlerFailedException) {
128128
$envelope = $throwable->getEnvelope();
129129
}
130130

0 commit comments

Comments
 (0)
0