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

本文介绍了在PHP中如何进行异常处理,包括beforeAction、runAction和afterAction的方法使用,以及自定义异常类MyException的创建与应用。通过示例展示了如何在遇到业务错误时返回JSON格式的错误信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 app\librarys;


class MyException extends \Exception
{

}

 

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

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

 

转载于:https://www.cnblogs.com/lt-com/p/10087667.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值