记录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 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 5

登录过期为何抛出 509 ?

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

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

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!