Try catch块不工作,返回成功


try catch block is not working with success return

在我的代码中,当函数抛出诸如组织名称是必需的或它已经存在的错误时,catch块正常工作。但是在成功的情况下,即使插入了相应的组织,我得到的状态是200,并带有错误信息。我的代码有什么错误?

insertTenancy是Mycontroller中编写的函数

 public function insertTenancy($data,$user, $res)
{
    $org_name = $data['org_name'];
    $queryString = "SELECT * FROM organisation WHERE name = ? and user_id =?";
    $query = $this->db->prepare($queryString);
    $query->execute([$org_name,$user]);
    if($query->fetch('PDO::FETCH_ASSOC)){
        //throw new Exception('This organisation is already in use');
        return CCommon::prepareError($res, 'This organisation is already in use', 403);
    }
     $insertOrg = "INSERT INTO organisation (currency_id,name,user_id) VALUES (1,:name,:user_id)";
        $insertOrgname = $this->db->prepare($insertOrg);
        $insertOrgname->bindParam(':name', $org_name);
        $insertOrgname->bindParam(':user_id', $user_id);
        $insertOrgname->execute();
        $lastorgId = $this->db->lastInsertId();
        return $lastorgId;
 }

下面的函数写在routerContainer

try
    {
        $postData = $request->getParsedBody();
        $currentUser = $this->user;
        $data = array();
        $data = $this->MyController->insertTenancy($postData,$currentUser,$response);
            echo json_encode($data);
            exit;
    }
    catch (Exception $e)
    {
        $data = array();
        $data['success'] = false;
        $data['message'] = $e->getMessage();
        return CBCommon::prepareError($response, $data['message'], 403);
        exit;
    }

创建一个新的数组,然后给索引" success "添加false。

为什么

$data['message']

定义?

也许你想改变你的

$error 

 $data['message']