laravel5异常错误-FatalErrorException in Handler.php line 38

1、错误提示

FatalErrorException in Handler.php line 38:
Uncaught TypeError: Argument 1 passed to App\Exceptions\Handler::report() must be an instance of Exception, instance of Error given, called in D:\www\activity\vendor\compiled.php on line 1817 and defined in D:\www\activity\app\Exceptions\Handler.php:38
Stack trace:
#0 D:\www\activity\vendor\compiled.php(1817): App\Exceptions\Handler->report(Object(Error))
#1 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleException(Object(Error))
#2 {main}
thrown

原因:D:wwwactivityvendorcompiled.php on line 1817 的变量$e不是Exception的实例对象(对错误提示的翻译……^.^笑cry)

2、解决方案
在提示的错误地方加上变量$e的实例判断,如果不是Exception类型,就new一个

if (!$e instanceof \Exception) {
    $e = new FatalThrowableError($e);
}

new完之后的样子:


public function handleException($e)
{
    if (!$e instanceof \Exception) {
        $e = new FatalThrowableError($e);
    }
    $this->getExceptionHandler()->report($e);
    if ($this->app->runningInConsole()) {
        $this->renderForConsole($e);
    } else {
        $this->renderHttpResponse($e);
    }
}
    原文作者:疯狂的麦克斯
    原文地址: https://segmentfault.com/a/1190000011496178
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞