请稍等 ...
×

采纳答案成功!

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

正在回答

插入代码

1回答

同学我们可以自定义异常文件,比如ClientException,然后统一异常处理的时候判断下只要是instanceof 属于这个的,就可以给前端看,否则就不给,在business里面的异常使用   throw new ClientException('验证码有误')

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
declare(strict_types=1);
 
namespace App\Exceptions;
 
use Exception;
 
class WarnException extends Exception
{
    // 状态码
    public $status = 500;
 
    // 错误提示
    public $message '未知错误';
 
    // 错误码
    public $code = 0;
 
    // 错误返回给客户端的其他数据
    public $data = [];
 
    /**
     * ApiException constructor.
     * @param array|string $params
     */
    public function __construct($params = [])
    {
        is_string($params) && $this->message = $params;
        if(is_array($params)){
            array_key_exists('status',$params) && $this->status = $params['status'];
            array_key_exists('code',$params) && $this->code = $params['code'];
            array_key_exists('msg',$params) && $this->message = $params['msg'];
            array_key_exists('message',$params) && $this->message = $params['message'];
            array_key_exists('data',$params) && $this->data = $params['data'];
        }
    }
}
 
if ($exception instanceof ClientException) {
    // 自定义错误,错误是可以直接展示给客户端的
    return returnJson($exception->code, $exception->message, $exception->status, $exception->data);
}


0 回复 有任何疑惑可以回复我~
  • 提问者 帅的被狗撵 #1
    非常感谢!这正是我想要的
    回复 有任何疑惑可以回复我~ 2020-12-02 16:52:13
  • 提问者 帅的被狗撵 #2
    不过 我还是有点不太懂 ClientException 自定义类里面是什么,tp6我看自带了一个ClientException 客户端异常处理类,但是里面的参数不太明白
    回复 有任何疑惑可以回复我~ 2020-12-02 17:31:05
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号