记录Laravel异常处理类

希望大佬发现不合理的地方可以给我点建议

版本:laravel 7

use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException;
use Illuminate\Support\Facades\Log;

public function render($request, Throwable $exception)
{
    if (request()->segment(1) == 'api') {
        switch (true) {
            case $exception instanceof UnauthorizedHttpException:
                return response()->json([
                    'code' => 401,
                    'message' => '登陆已过期,请重新登陆'
                ]);

            case $exception instanceof NotFoundHttpException:
                return response()->json([
                    'code' => 404,
                    'message' => '路由不存在'
                ]);

            case $exception instanceof \PDOException:
                Log::error($exception->getMessage());
                return response()->json([
                    'code' => 500,
                    'message' => 'sql error'
                ]);

            default:
                return response()->json([
                    'code' => 500,
                    'message' => $exception->getMessage()
                ]);
        }
    }

    return parent::render($request, $exception);
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 5

登录过期为何抛出 509 ?

4年前 评论
Mr-houzi (作者) 4年前
勇敢的心 (楼主) 4年前
勇敢的心 (楼主) 4年前

请问下 这个怎么处理数据库事务呢?

2年前 评论