请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

使用Exception 和 HttpResponseException有什么区别?

public function show(...$args) {
    throw new \think\Exception(...$args);
}

用这个抛出异常 Http.php里面也可以正常接收,不理解换成HttpResponseException反尔还要在Http.php里面多加个判断 是为什么?

正在回答 回答被采纳积分+3

1回答

提问者 walk205 2020-07-08 19:57:23

我在AuthBase里面验证完权限也是可以直接抛出异常

   public function initialize()
   {
       parent::initialize(); // TODO: Change the autogenerated stub
       $this->accessToken = request()->header('access_token');
       if(!$this->accessToken || !$this->isLogin()){
//            return $this->show(config('message.error.login_not'), config('status.login_not'));
           throw new \think\Exception(config('message.error.login_not'), config('status.login_not'));
       }

   }

老师用HttpResponseException是有什么性能稳定上的考虑?

0 回复 有任何疑惑可以回复我~
  • singwa #1
    TP包装的针对httpresponse异常处理而已。
    回复 有任何疑惑可以回复我~ 2020-07-09 00:09:02
  • HttpResponseException是可以redirect到一个页面地址
    而think\Exception是一个异常信息的抛出,
    可以 throw new \think\Exception(...$args); 这样args里的格式就需要改变了
    不可以 throw new \think\Exception(show(...$args));
    使用HttpResponseException(show(...$args));  args的格式就和我们一般的返回信息一致。
    主要是这个用处吧。
    回复 有任何疑惑可以回复我~ 2020-10-07 19:40:28
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信