出现错误时,如何将用户重定向到错误页面?

时间:2018-12-24 04:08:19

标签: php laravel

我想知道当代码有错误时如何将用户重定向到错误页面。

以下是我尝试重定向的错误

Symfony \组件\调试\异常\ FatalThrowableError(E_PARSE) 语法错误,意外的“ dd”(T_STRING)

或者页面无效或存在未定义的变量

我尝试在app / Exceptions / Handler.php中添加以下命令

public function render($request, Exception $exception)
{

  if ($exception instanceof CustomException) {
      dd('hi');
  }

  if ($exception instanceof ModelNotFoundException or $exception instanceof NotFoundHttpException) {
    dd('hi1');
  }

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

也尝试过波纹管

public function render($request, Exception $exception)
    if ($this->isHttpException($exception)) {
        if ($exception instanceof NotFoundHttpException) {
            dd('hi2);
        }
    }
}

但是我仍然收到错误消息。我该怎么做,以便将所有错误都重定向到错误页面(目前,我只会看到重定向到页面的dd()状态)

1 个答案:

答案 0 :(得分:0)

我花了很多时间而不是dd('hi')来研究整个异常处理。

在添加dd($e);

renderForConsole()方法中,在行

之前

https://github.com/laravel/framework/blob/5.7/src/Illuminate/Foundation/Exceptions/Handler.php#L467

打印所有相关信息。

这帮助我快速找到错误。也许这同时对任何人都有用,尽管这是整个应用程序状态的可怕转储,但由于包含了stacktrace,对我来说非常有帮助。