В Laravel есть обработчик всех подобных ошибок, который вы можете настроить самостоятельно.Поведение по умолчанию, когда выбрасываются исключения этого типа, они обрабатываются классом App\Exceptions\Handler
, вы настраиваете его на перехват любого типа исключения, которое выбрасывает ваше приложение.
, как вы хотите try/catch
, когда не найдена модель, вы можете справиться с этим, перехватив тип исключения \Illuminate\Database\Eloquent\ModelNotFoundException::class
.
вы можете прочитать больше в Обработка ошибок Laravel
Вы можете поймать любую ошибку типа QueryException, которая является типом исключения, которое выдается для многих типов нарушения MySQL, и вы можете обработать этот тип ошибкипутем настройки метода рендеринга класса Handler
public function render($request, Exception $exception)
{
if ($exception instanceof QueryException) {
return response()->view('views.to.be.rendered', [], 500);
}
return parent::render($request, $exception);
}