обработчик ошибок не перехватывает ошибку 500 в Laravel - PullRequest
0 голосов
/ 24 октября 2019

Следующая функция в файле handler.php:

public function render($request, Exception $exception)
{
    if ($exception instanceof CustomException) {
        return response()->view('errors.500', [], 500);
    }

    return parent::render($request, $exception);
}

У меня есть блейд с именем 500.blade.php по следующему пути:

C:\xampp\htdocs\sharp\resources\views\errors

Следующееэто ошибка 500, которую я пытаюсь обработать (без какой-либо обработки):

localhost is currently unable to handle this request.
HTTP ERROR 500

Если я добавлю вышеупомянутую функцию public function render($request, Exception $exception), условие if не будет работать и покажет ошибку по умолчанию,это:

Whoops, looks like something went wrong.

Я не уверен, почему условие if не получает ошибку.

Ошибка 500:

enter image description here

1 Ответ

2 голосов
/ 24 октября 2019

Если вы хотите, чтобы все status code = 500 проходили по определенной странице, вы можете сделать что-то вроде этого:

if ($this->isHttpException($exception)) {

        if ($exception->getStatusCode() == 500) {
            return response()->view('errors.500' , [], 500);
        }

    }
if ($exception instanceof ErrorException) {
        abort(500);
    }
return parent::render($request, $exception);

, но ваш путь работает хорошо, если ошибка только instanceof CustomException.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...