Php 当laravel异常时,如何超越中间件
我将laravel5.5用于web程序。但是当程序异常时,中间件就不工作了 我该怎么办 我的中间件代码是列表: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 $
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);
}
中间件不工作是一个完全无用的问题描述。请花些时间阅读文章,尤其是阅读网页,然后回来看看你的文章。在描述问题时,您需要清楚(您期望的行为和您得到的结果,包括任何错误消息),并提出特定的问题。如果你不确定为什么不工作没有用,打电话给你的汽车修理店,说我的车坏了。修好它需要多长时间,费用是多少?看看他们是否能根据问题描述来回答。