Как отловить ошибку и распечатать ее пользователю

Я пытаюсь напечатать ошибки, которые обычно появляются на сером экране, но записываю их в HTML и показываю пользователю, как использовать систему.
Для этого я использую метод рендеринга и представление в папке resources / views / errors / error.php и делаю следующее:

public function render($request, Exception $e)
{
return response()->view('errors.error', [], 500);
}

Это фактически показывает мне, что у меня есть в файле error.php html, но я хочу показать пользователю фактическую обнаруженную ошибку.

Как я ? Помогите !!!

0

Решение

Прежде всего, вы должны подумать, действительно ли вы хотите показать пользователю детали ошибки. (Возможно нет). На самом деле, детали, которые вы видите на «сером экране», варьируются в зависимости от значения APP_DEBUG в вашем .env файл.

Обычно вы хотите скрыть от пользователей причину сбоя и вывести очень общее сообщение об ошибке. Для исключений HTTP обработчик исключений сделает это за вас: просто создайте блейд-файл для каждого http-кода, который вы хотите обработать (resources/views/errors/404.blade.php например).

Если вы хотите это для целей отладки, есть лучшие инструменты. Проверка журнала ошибок является самой основной. Или используйте dd() функция здесь и там, чтобы посмотреть на состояние некоторой переменной в любой точке.

Если вы действительно хотите это сделать, вы можете изменить app/Exceptions/Handler.phpфайл, render метод, как вы предлагаете

public function render($request, Exception $e)
{
return response()->view('errors.error', [
'error_message' => $e->getMessage()
], $code);
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]