tp5.1 API 自定义全局异常处理(中)

我们先来梳理一下异常的分类:
在这里插入图片描述
tp5.1 有一个全局异常处理类,如果我们想自己实现上面的分类,需要覆盖和重写默认的全局异常处理类。
我们现在在 api 模块的同级下新建一个 lib 文件夹,再新建一个 exception 文件夹。
(我们想让这个 exception 里的类是一个通用的,可以供很多模块使用的一个类库。)
新建 ExceptionHandler 的 php class,并继承 Handle 类。
在这里插入图片描述
并且重新指定 tp5.1 的全局异常处理类:
在 config.php 文件中的 'exception_handle’字段输入我们自定义的处理器的命名空间:
app\lib\exception\ExceptionHandler
在这里插入图片描述
代码如下:

<?php 
namespace app\lib\exception;

use think\exception\Handle;

class ExceptionHandler extends Handle {
   
  public function render(Exception $e){
    // 重写render方法
    return json('是否重写成功');
  }
}

User控制器代码:

public function getUserById($id)
    {
   
        (new IDMustBePositiveInt())->goCheck();
        throw new \think\Exception('手动异常', 10006);

结果如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值