0

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

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

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

有任何想法吗?我想要一个很短的班轮(请不要使用 if 语句)

4

3 回答 3

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

是我想到的一切。但我使用 PHP 的时间不长。现在我发现了 Perl,这是一件很棒的事情,您可以使用您建议的构造等等。总是值得一试!

于 2010-12-07T14:54:12.007 回答
0

你不能。但是,我实际上从未有过您所描述的那种特殊需求,这使我怀疑您在做一些奇怪的事情。或者至少不习惯。程序函数 ( oci_execute) 的存在似乎支持了这一点。

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

于 2010-12-07T14:53:04.327 回答
0

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

工作?

于 2010-12-07T14:55:21.333 回答