记录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 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 5

登录过期为何抛出 509 ?

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

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

3年前 评论

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