/
MessageFailedException.php
60 lines (49 loc) · 1.47 KB
/
MessageFailedException.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php declare(strict_types=1);
namespace Shopware\Core\Framework\MessageQueue\Exception;
use Shopware\Core\Framework\ShopwareHttpException;
class MessageFailedException extends ShopwareHttpException
{
/**
* @var object
*/
private $originalMessage;
/**
* @var string
*/
private $handlerClass;
/**
* @var \Throwable
*/
private $exception;
public function __construct(object $originalMessage, string $handlerClass, \Throwable $exception)
{
$this->originalMessage = $originalMessage;
$this->handlerClass = $handlerClass;
$this->exception = $exception;
parent::__construct(
'The handler "{{ handlerClass }}" threw a "{{ exceptionClass }}" for message "{{ messageClass }}". The Exception was "{{ exceptionMessage }}.',
[
'handlerClass' => $handlerClass,
'exceptionClass' => get_class($exception),
'messageClass' => get_class($originalMessage),
'exceptionMessage' => $exception->getMessage(),
]
);
}
public function getException(): \Throwable
{
return $this->exception;
}
public function getOriginalMessage(): object
{
return $this->originalMessage;
}
public function getHandlerClass(): string
{
return $this->handlerClass;
}
public function getErrorCode(): string
{
return 'FRAMEWORK__QUEUE_MESSAGE_FAILED';
}
}