我正在使用 Laravel 5 开发一个 RESTful 应用程序,我正在尝试捕获异常并生成适当的响应。我还在使用tymondesigns/jwt-auth包,以便所有 API 响应都采用 JSend JSON 格式。
现在,我正在尝试捕捉TokenExpiredException
给定令牌当然过期时出现的问题。所以我尝试了这个Handler.php
:
if($e instanceof TokenExpiredException)
{
return jsend()->error()
->message("Token Expired")
->code(403)
->data([null])
->get();
}
但我仍然无法捕获此异常并返回 JSON 响应。尽管我可以针对其他异常执行此操作,例如:
if ($e instanceof ModelNotFoundException) {
$e = new NotFoundHttpException($e->getMessage(), $e);
return jsend()->error()
->message("404 Model Not Found")
->data([null])
->get();
}
和:
if ($this->isHttpException($e))
{
if($e instanceof NotFoundHttpException)
{
return jsend()->error()
->message("404 Route Not Found")
->data([null])
->get();
}
return $this->renderHttpException($e);
}
如何处理 Laravel 中的其他异常?