Ларавел использует достаточно удобный общий обработчик ошибок, но дефолтное поведение предполагает, что исключение должно завершать работу программы. Однако, я использую обращение к несущественному сервису, и знаю, что мне делать дальше если он не ответит. Тем не менее, когда он бросает исключение, рендер страницы прерывается и выдаётся ошибка(
Я пытался отлавливать исключение, явно указывая класс исключения, пытался отловить общее исключение, пытался отключить exeption_handler - но мой блоr try catch полностью игнорируется.
Кусок кода (Предполагается, что он должен нормально отрабатывать в ЛЮБОЙ ситуации - и если я не достучусь до кликхауса, и если достучусь, но не будет результатов):
set_exception_handler(null);
try{
$raw = Clickhouse::select("SELECT AVG(rate) as rate FROM Likes WHERE game = {$game->id}");
} catch (\Exception $e) {
return $game->base_rate;
}
restore_exception_handler();
if (!$raw) {
return $game->base_rate;
}