Php 当laravel异常时,如何超越中间件

Php 当laravel异常时,如何超越中间件,php,laravel,Php,Laravel,我将laravel5.5用于web程序。但是当程序异常时,中间件就不工作了 我该怎么办 我的中间件代码是列表: namespace App\Http\Middleware; use Closure; class ApiException { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $

我将laravel5.5用于web程序。但是当程序异常时,中间件就不工作了

我该怎么办

我的中间件代码是列表:

namespace App\Http\Middleware;

use Closure;


class ApiException
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string|null  $guard
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $response = $next($request);
        $env = config('app.env');
        $statusCode = $response->getSatusCode();
        if ($statusCode >= 500 && $env != 'dev') {
            $response->setContent(['error' => 'Internal Server Error']);
        }

        return $next($request);
    }
}

谢谢你帮助我

中间件中,您无法做到这一点。您可以改为在
app\exceptions\Handler.php中控制异常。

在中间件中不能,但在Exception/Handler中可以

只要发生异常。。它没有进入中间件,而是进入了Exception/Handler.php

在渲染方法中

public function render($request, Exception $exception)
{
        if ($exception->getCode() >= 500 ||) {
            //return redirect()->route(); do something here
        }

        return parent::render($request, $exception);
}
中间件不工作是一个完全无用的问题描述。请花些时间阅读文章,尤其是阅读网页,然后回来看看你的文章。在描述问题时,您需要清楚(您期望的行为和您得到的结果,包括任何错误消息),并提出特定的问题。如果你不确定为什么不工作没有用,打电话给你的汽车修理店,说我的车坏了。修好它需要多长时间,费用是多少?看看他们是否能根据问题描述来回答。