Thinkphp6异常处理方法

2022-08-08 09:23 ThinkPHP 90 梁俊威

异常处理分离了接收和处理错误代码。这个功能理清了编程者的思绪,也帮助代码增强了可读性,方便了维护者的阅读和理解。异常处理已经是非常常见的事情了,这篇文章主要分享Tp6的异常处理,废话不多说,直接上码。

namespace app\index\controller;

use think\App;
use think\Request;

class Index extends Base
{
    public function image(){
        try {
            validate(\app\index\validate\Test::class)
                ->batch(true)
                ->check($this->input);
            // if($this->request->isPost()){
            //     $result = (new Attachment())->image();
            // }else{
            //     throw_exception("1001", "错误的请求方式");
            // }
        }catch (\Exception $e) {
            // 捕获HTTP异常状态码
            if(method_exists($e, 'getStatusCode')){
                return response($e->getMessage(), $e->getStatusCode());
            }
            // 捕获验证类异常错误信息
            if(method_exists($e, 'getError')){
                return json([
                    'code'=>10001,
                    'msg'=>'校验参数错误',
                    'data'=>[
                        'error'=>$e->getError(),
                        'errorMsg'=>$this->validateError($e->getError())
                    ]
                ]);
            }
            // 普通应用异常捕获
            return json([
                'code'=>$e->getCode(),
                'msg'=>$e->getMessage(),
                'data'=>null
            ]);
        }
    }
}


若无特殊说明,本站点所有内容均为原创,转载请说明出处!

原文链接:https://www.ljwei.com.cn/read/380.html

QQ客服

QQ客服

微信客服

微信客服

微信客服二维码
意见反馈

意见反馈

一键置顶