Я пытаюсь настроить обработчик ошибок на моем контроллере, чтобы поймать что-нибудь, что может привести к неисправности моей страницы. Например: в этом сценарии я пытаюсь поймать любую ошибку, которая может произойти, когда мой метод вызывает внешний API с плохим параметром, но он, похоже, ничего не делает, кроме как дать мне типичный ClientException in Middleware.php line 69: Client error: 400
, который не является тем, что я есть точно нацеливаясь. Любые советы будут высоко оценены или более эффективные способы обработки ошибок в Silex.Silex - мой обработчик ошибок не работает
private function getSIS($url, $session, Application $app)
{
$message = "You don't have permission to access this!";
if($app['security']->isGranted('ROLE_SUPER_ADMIN'))
{
$client = new Client(['base_uri' => 'https://***********.ca/api/SIS/']);
if (!empty($session))
$response = $client->get($url, ['query' => 'session=' . $session]);
else
$response = $client->get($url);
return $response;
}
$app->error(function (\Exception $e, $code) {
switch($code) {
case 404:
$message = 'The requested page could not be found';
break;
default:
$message = 'We are sorry, but something went terribly wrong.';
}
return new Response($message);
});
return new Response($message);
}
вы намекаете, что блок ошибок будет глобальный обработчик ошибок? –
Любое исключение, исключенное из '$ app-> get',' $ app-> match' и т. Д., Должно приземляться в этом обратном вызове '$ app-> error. Поэтому да, я считаю, что это будет глобальный обработчик ошибок. – ooXei1sh