一.框架异常处理
laravel运行中的异常会通过app\Exceptions\Handler.php文件处理,底层还是调用了set_error_handler和set_exception_handler函数进行注册
这里在app\Exceptions\下创建ApiException.php自定义异常,继承RuntimeException,传入自定义的ErrorCode数组
然后在app\Exceptions\Handler.php中进行捕获处理
使用异常处理
上次的jwt解析token中有个问题,当token被篡改或者不是合法的token时,会报错,解析错误
上图是未通过try-catch捕获,修改token,调用接口会出现下面的错误
由于我们在handler中进行了其他异常处理,可以处理未被捕获的异常,就会变为如下错误返回
接着我们通过捕获异常,然后抛出自己定义的异常
最终返回自己定义的错误码
也可以在controller中抛出业务处理异常