пропустить исключение ядра Symfony2 - PullRequest
0 голосов
/ 05 июля 2018

Я использую Symfony2.8 и У нас есть KernelExceptionService, и я хочу пропустить его, если есть какое-либо исключение, например, 500 400 или любое другое, и вернуться к обслуживанию и продолжить работу.

причина Мы нажимаем несколько URL для извлечения данных, и если происходит какое-либо исключение, вся обработка останавливается.

public function onKernelException(GetResponseForExceptionEvent $event) {
    $exception = $event->getException();
    $response = new JsonResponse;
    $request = $event->getRequest();

    if ($exception instanceof InvalidConfigurationException) {
        //500 case
        $responseData = return [
            'code' => Response::HTTP_NOT_FOUND,
            'message' => $exception->getMessage()
        ];
    } else {
       // same as aobve if with difference code
    }        

    //Prepare the response
    $response->setData($responseData);
    $response->setStatusCode($statusCode);
    $event->setResponse($response);
}

1 Ответ

0 голосов
/ 05 июля 2018

Просто обернуть конкретный код блоком try catch?

Таким образом, ваш прослушиватель исключений никогда не сработает, и вы можете по-разному обработать исключение в этой конкретной части кода.

...