abort(500, 'Unauthorized');
放置在:\resources\views\errors下
for example :
\resources\views\errors\500.blade.php
页面里面花花绿绿自己写
{$exception->getMessage()}}
public function abort($code, $message = '', array $headers = [])
{
if ($code == 404) {
throw new NotFoundHttpException($message);
}
throw new HttpException($code, $message, null, $headers);
}
这里抛出了HttpException异常,带出了Message
$app->singleton(
Illuminate\Contracts\Debug\ExceptionHandler::class,
App\Exceptions\Handler::class
);
app\Exceptions\handler.php 在render的时候就携带了这个异常
/**
* Render an exception into an HTTP response.
*
* @param \Illuminate\Http\Request $request
* @param \Exception $e
* @return \Illuminate\Http\Response
*/
public function render($request, Exception $e)
{
if ($e instanceof ModelNotFoundException)
{
$data = array(
"code" => 500,
"data" => array(
"message" => "records not found"
)
);
return response()->json($data);
}
return parent::render($request, $e);
}
protected function renderHttpException(HttpException $e)
{
$status = $e->getStatusCode();
if (view()->exists("errors.{$status}")) {
return response()->view("errors.{$status}", ['exception' => $e], $status);
} else {
return (new SymfonyDisplayer(config('app.debug')))->createResponse($e);
}
}
可以在这里dd($e)看看异常的具体内容。