如何以简洁的方式有条件地抛出异常?

时间:2010-12-07 14:47:49

标签: php exception syntax throw

如果一个语句返回false,我需要抛出一个异常,并试图想出一个简单,简洁的方法。有任何想法吗?我想做以下事情......

<?
  // ...
  oci_execute( $stmt ) or throw new OracleException( $stmt );
  // ...
?>

...但PHP解释器不允许我这样做(语法错误),因为'throw'是一种语言结构。

有什么想法吗?我想要一个非常短的一个班轮(请不要声明)

3 个答案:

答案 0 :(得分:3)

<?
  // ...
  if (!oci_execute( $stmt )) throw new OracleException( $stmt );
  // ...
?>

是我想到的一切。但我使用PHP的时间不长。现在我发现Perl是一件好事,你可以使用你建议的结构等等。总是值得一试!

答案 1 :(得分:0)

你做不到。但是,我从来没有真正满足你所描述的特殊需求,这让我怀疑你做的事情有点奇怪。或者至少是非惯用的。程序函数(oci_execute)的存在似乎支持这一点。

我没有任何使用PHP的Oracle经验,但您可以使用pdo-bindings吗?这将为您提供更加面向对象的界面。

答案 2 :(得分:0)

if !oci_execute($stmt) { throw new OracleException($stmt); }

工作?