如何在CakePHP上抛出自定义try-catch异常?

时间:2015-06-23 06:42:41

标签: cakephp exception try-catch throw

我想抛出一个自定义异常,这是我的CakePHP应用程序的控制器中的数据验证异常。如何在Cakephp中创建自己的自定义异常处理程序,以便我可以抛出异常并捕获异常?

我的代码示例:

function getUserDetails($userid){

    try{
         if(!$validUser){
              throw new Exception('Invalid User');
         }

         return $userDetailsData;  //returned from db
    }catch(Exception $e){
         echo 'Error:'.$e->getMessage();
        return;
    }

}

是否可以在cakephp中使用自定义Exception类,以便只能抛出那些我做的异常。希望它澄清问题。 感谢。

1 个答案:

答案 0 :(得分:8)

CakePHP实际上很大程度上依赖于命名空间。

\添加到Exception可以解决您的问题。

 }catch(\Exception $e){

如果您想要更多内容,可以创建一个异常类并从该命名空间中获取对象。