thinkphp6异常处理:重新定义render方法的代码

南国老符 南国老符 最后更新于:2022-06-18 浏览:1104
thinkphp6异常处理:

app\ExceptionHandle.php 异常处理类,重新定义render方法即可,代码如下:
/**
     * Render an exception into an HTTP response.
     *
     * @access public
     * @param \think\Request   $request
     * @param Throwable $e
     * @return Response
     */
    public function render($request, Throwable $e): Response
    {
        // app_debug模式下按原thinkphp6异常模式处理异常
        if (env('app_debug')) {
            return parent::render($request, $e);
        }

         // 获取当前访问应用
        $app_name = app('http')->getName();
        switch ($app_name) {
            case 'admin':
                // 自定义json返回错误
                if ($e instanceof ValidateException) {
                    // return json($e->getError(), 422);
                    return json(['code' => 0, 'msg' => $e->getError()], 422);
                }

                // 自定义json返回异常
                if ($e instanceof HttpException && $request->isAjax()) {
                    return json(['code' => 0, 'msg' => $e->getMessage()], $e->getStatusCode());
                }
                // 自定义json返回异常
                if ($e instanceof HttpException) {
                    return json(['code' => 0, 'msg' => $e->getMessage()]);
                }
                // 自定义json返回异常
                $errorData = [
                    'code'      => 0,
                    'msg'       => $e->getMessage(),
                    'errorcode' => $e->getCode(),
                    'result'    => '未知错误,请开启调试模式。Unknown error, please turn on debugging mode'
                ];
                return json($errorData);
                break;
            default:
                return parent::render($request, $e);
                break;
        }
    }

点赞 (0)

收藏 (0)
转载请务必注明: 来源:《建站管家》https://www.df81.com/news/390.html

本站部分信息来源网络,如有侵权,请联系QQ:1062129401删除。

上一篇: python爬虫报错bs4.FeatureNotFound的解决方法

下一篇: 请问,banner怎么设置,去掉查看详情,点击图片直接跳转呢?(原有的布局真不好看)

请先登录后,再发表评论 ~ ~
发表评论
发表帖子
广告位招租( ¥5 / 天 )
点击咨询
最新帖子

南国老符
2025-05-26 16:54
南国老符
2024-09-29 10:29
南国老符
2023-12-15 21:41
广告位招租( ¥5 / 天 )
点击咨询
最近评论

Y
yuanis90
回复:在后台->全局管理->网站设置->网站html代码,把你申请的分享代码贴到这里保存即可。以后发问题,请贴出具体版本号
南国老符
回复:发表帖子发不了  乱码
南国老符
回复:第一位参与的老总,是做洗衣店saas系统的,需要的请联系
9
9252
回复:新版已经修复了的,升级忘记覆盖了,你重新下载即可。
U
user1304
回复:PHP开启fileinfo扩展即可
U
user1379
回复:版本号多少?
购买VIP
购买授权
余额充值
发表帖子
客服微信