跳过 symfony2 内核异常
skip symfony2 kernel exception
我正在使用 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);
}
只用 try catch 块包装特定代码?
这样您的异常侦听器将永远不会触发,您可以在代码的特定部分以不同方式处理异常。
我正在使用 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);
}
只用 try catch 块包装特定代码?
这样您的异常侦听器将永远不会触发,您可以在代码的特定部分以不同方式处理异常。