【问题标题】:How to "return false" and send a message with it?如何“return false”并用它发送消息?
【发布时间】:2023-03-12 06:15:01
【问题描述】:

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

抛出异常是实现这一目标的最佳方式吗?

【问题讨论】:

标签: php exception-handling


【解决方案1】:

抛出异常总是好的,但它并不等于return false
但是,如果您的逻辑可以维持异常,则可以抛出它。可能是某种不同的类型,但不是一般的Exception

【讨论】:

  • 用一个特定代码跟踪问题的一般异常怎么样?
【解决方案2】:

是的,使用异常,如果您捕获异常,您可以将 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();
}

这样,当出现问题时,您可以为所欲为。

【讨论】:

    【解决方案3】:

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

    即改变:

    function foo()
    {
       return true;
    }
    

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

    【讨论】:

      【解决方案4】:
      function bla(){
         return false;
      }
      if(bla() === false){
          echo "Failed";
      }
      

      但我相信例外更好。

      【讨论】:

        猜你喜欢
        • 2016-02-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-04
        • 1970-01-01
        • 2014-07-21
        • 1970-01-01
        相关资源
        最近更新 更多