如何“返回false”并发送消息?

时间:2011-11-07 10:23:59

标签: php exception-handling

PHP中是否有任何选项可以从函数中“返回false”并发送相应的消息(如出错)?

抛出异常是达到此目的的最佳方法吗?

4 个答案:

答案 0 :(得分:3)

抛出异常总是好的,但它实际上并不等于return false
但是如果你的逻辑可以维持一个异常,那么抛出它是可以的。可能是某种不同的类型,但不是通用的Exception

答案 1 :(得分:1)

是的,使用异常,如果捕获异常,可以将var设置为false并接收错误消息。

function foo($a = null) {
     if(!$a) {
         throw new Exception('$a must be defined');
     }
}

try {
    $var = foo();
} catch(Exception $e) {
    $var = false;
    echo $e->getMessage();
}

这样,当出现问题时,你可以做任何你喜欢的事情。

答案 2 :(得分:0)

您可以将功能更改为在成功或失败时返回truefalse,并将您的变量返回到通过引用传递的参数中。

即。改变:

function foo()
{
   return true;
}

function foo(&$ret)
{
   if ( $something_went_wrong)
      return false;
   $ret = true;
   return true;
}

答案 3 :(得分:0)

function bla(){
   return false;
}
if(bla() === false){
    echo "Failed";
}

但我相信例外更好。