Я использую symfony 3 с пакетом сериализации jms. Как сериализовать исключение/ошибку с трассировкой стека в JSON для отправки клиенту? Скриншот исключения.
Помощник для генерации исключения:
namespace Bundle\DependencyInjection;
use Exception;
class UnknownException extends Exception
{
public function __construct() {
parent::__construct('An unknown exception occurred', 500, null);
}
}
Я создаю исключение внутри контроллера:
$error= new UnknownException()
А потом отправляю:
$serializedError = $this->serializer->serialize( // it is jms serializer
$error,
'json'
);
$response = new Response();
$response
->setStatusCode($statusCode)
->setContent($serializedError)
->send();
Я получаю сообщение об ошибке на клиенте: Resources are not supported in serialized data
Я думаю, это происходит из-за того, что трассировка исключения представляет собой очень большую структуру: Пример скриншота трассировки исключения
Итак, как его сериализовать? Как сериализовать огромные структуры с помощью сериализатора jms?