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


class MyException extends \Exception
{

}

 

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

throw new MyException('錯誤信息');

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM