kernelException() public method

Route for kernel exception handling.
public kernelException ( GetResponseForExceptionEvent $event ) : Response
$event Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent
return Symfony\Component\HttpFoundation\Response
Example #1
0
 /**
  * Handle errors thrown in the application.
  *
  * @param GetResponseForExceptionEvent $event
  */
 public function onKernelException(GetResponseForExceptionEvent $event)
 {
     if ($this->isProfilerRequest($event->getRequest())) {
         return;
     }
     $exception = $event->getException();
     $message = $exception->getMessage();
     $statusCode = Response::HTTP_INTERNAL_SERVER_ERROR;
     if ($exception instanceof HttpExceptionInterface) {
         $statusCode = $exception->getStatusCode();
     }
     // Log the error message
     $level = LogLevel::CRITICAL;
     if ($exception instanceof HttpExceptionInterface && $exception->getStatusCode() < 500) {
         $level = LogLevel::WARNING;
     }
     $this->logger->log($level, $message, ['event' => 'exception', 'exception' => $exception]);
     // Get and send the response
     if ($this->isJsonRequest($event->getRequest())) {
         $response = new JsonResponse(['success' => false, 'errorType' => get_class($exception), 'code' => $statusCode, 'message' => $message]);
     } elseif ($this->config->get('general/debug_error_use_symfony')) {
         return null;
     } else {
         $response = $this->exceptionController->kernelException($event);
     }
     $response->setStatusCode($statusCode);
     $event->setResponse($response);
 }
Example #2
0
 /**
  * Handle errors thrown in the application.
  *
  * @param GetResponseForExceptionEvent $event
  */
 public function onKernelException(GetResponseForExceptionEvent $event)
 {
     if ($this->isProfilerRequest($event->getRequest())) {
         return;
     }
     // Log the error message
     $exception = $event->getException();
     $message = $exception->getMessage();
     $level = LogLevel::CRITICAL;
     if ($exception instanceof HttpExceptionInterface && $exception->getStatusCode() < 500) {
         $level = LogLevel::WARNING;
     }
     $this->logger->log($level, $message, ['event' => 'exception', 'exception' => $exception]);
     // Get and send the response
     $response = $this->exceptionController->kernelException($event);
     $event->setResponse($response);
 }