PHP (Yii2) 自定义业务异常类(可支持返回任意自己想要的类型数据)

Posted 鲜花满月楼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP (Yii2) 自定义业务异常类(可支持返回任意自己想要的类型数据)相关的知识,希望对你有一定的参考价值。

public function beforeAction($action)
    {
        return parent::beforeAction($action);
    }

    public function runAction($id, $params = [])
    {
        try {
            return parent::runAction($id, $params);
        } catch (MyException $myException) {
            //此处返回业务错误 比如返回json字符串错误
            $result = [
                ‘status‘ => $myException->getCode(),
                ‘message‘ => $myException->getMessage(),
                ‘data‘ => null
            ];
            return json_encode($result, true);

        } catch (Exception $ex) {
            throw  $ex;
        }
    }

    public function afterAction($action, $result)
    {
        return parent::afterAction($action, $result);
    }

异常类(只需要继承基础的异常类即可)

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/12/8 0008
 * Time: 14:38
 */

namespace applibrarys;


class MyException extends Exception
{

}

 

可以在任意地方使用,不需要再写返回值,自动返回。

throw new MyException(‘错误信息‘);

 

以上是关于PHP (Yii2) 自定义业务异常类(可支持返回任意自己想要的类型数据)的主要内容,如果未能解决你的问题,请参考以下文章

SpringCloud请求异常处理封装BusinessException自定义异常类

自定义异常类

自定义异常

yii2 basic版 MVC 部分

java中如何自定义异常

yii2自定义报错页面