关于刚刚问你的参数问题

来源:9-5 实现Token身份权限体系三

javaxxx

2017-05-24

Fatal error: Wrong parameters for Exception([string $exception [, long $code [, Exception $previous = NULL]]])

private function processLoginError($wxResult)
{
       $data=  [
            'msg' => $wxResult['errmsg'],
            'errorCode' => $wxResult['errcode'],
        ];

    throw new WechatException($data);
}

这样就报错 Fatal error: Wrong parameters for Exception([string $exception [, long $code [, Exception $previous = NULL]]])

应该是参数问题吧


然后我在WechatException 中 增加了

public function __construct($params =[]){
        if (!is_array($params)) {
            return;
        }
        if (array_key_exists('msg',$params)) {
            $this->msg  = $params['msg'];
        }
        if (array_key_exists('code',$params)) {
            $this->code = $params['code'];
        }
        if (array_key_exists('errorCode',$params)) {
            $this->errorCode = $params['errorCode'];
        }
    }

就跑通了...这是


然后我看了一下你的源码.. 发现你在父类中增加了这个方法,,我没加,,,就这么多

写回答

2回答

金刚小仓

2017-08-04

把那个构造函数放到BaseException里面,在Param……里面删除就行,我刚也遇到这问题了,移过去就OK了,

0
0

7七月

2017-05-24

这个课程里不是讲过么。。。添加这个构造函数,在第一次从构造函数里传参数的时候讲过的。肯定没到微信这个章节来之前就讲过了

0
0

微信小程序电商实战 从前端到后端的全流程精讲

全栈工程师/前后端都讲/架构思想/ RESTFul API、MySQL表设计

4851 学习 · 4388 问题

查看课程