代码之家  ›  专栏  ›  技术社区  ›  Rudie

更新版本的“…或死(…”

  •  1
  • Rudie  · 技术社区  · 15 年前

    $q = mysql_query('......') or die(mysql_error());
    

    所以我想试试这个:

    $r = $this->exec($query) or throw new Exception('FAIL');
    

    这种说法的最佳做法是什么。它必须看起来也很好(显然!)。。。

    我不喜欢

    if ( !($r = $this->exec($query)) ) throw new ...
    

    $r = $this->exec($query)
    if ( !$r ) throw new ....
    

    有最喜欢的吗?气馁?最佳实践?速度总是很好。

    2 回复  |  直到 15 年前
        1
  •  2
  •   user229044    15 年前

    你用的两个例子没什么错,只是你用沙盘把它们放到了一行。

    or

    function throw_ex($what) {
      throw $what;
    }
    
    function fails() {
      return false;
    }
    
    $x = fails() or throw_ex(new exception("failed"));
    

    我看不出这比ol'if的说法有什么好处。

        2
  •  1
  •   rekamso    15 年前

    您应该使用if语句来捕获实际的、可恢复的错误

    更多信息请点击此处: http://arjen-lentz.livejournal.com/150464.html

    推荐文章