2010-12-07 1 views
0

文がfalseを返す場合は、例外をスローする必要があります。それを行うための単純で簡潔な方法を考え出しています。何か案は?私は、次の...条件付きで例外を簡潔な方法でスローするにはどうすればよいですか?

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

をやってみたかった...しかし、「スロー」は言語構造であるため、PHPインタプリタは私がそれ(構文エラー)やらせないであろう。

アイデア?私は非常に短いライナーを希望します(ステートメントをお願いします)。

答えて

0

できません。しかし、私は実際にあなたが描いているその特定の必要性を持っていたことはありません。私は、あなたが何か奇妙なことをしていると思わせてくれます。または少なくとも非慣用的。手続き型関数(oci_execute)の存在はそれをサポートしているようです。

phpからOracleを使用した経験はありませんが、代わりにpdo-bindingsを使用できますか?そうすれば、よりオブジェクト指向のインターフェイスを利用できます。

+0

私はPDOを使用したいと思いますが、オラクルのサポートは高度に実験的です。エラーが発生したときに偽の戻り値をチェックする必要がなく、例外を使いたいだけです。 (oci関数は、エラーがあった場合にエラーが発生した場合にfalseを返します) – spudly

+0

その場合、おそらく手続き型インタフェースを隠して投げているラッパークラスを作成できますか? – troelskn

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

はすべて私の頭に浮かぶものです。しかし、私はあまりにも長い間、PHPを使用してきました。今私は素晴らしいことであるPerlを発見しました。あなたが提案したものを使用することができます。常に試してみる価値がある!

+0

これは動作しますが、これは私が避けようとしていたものです。 – spudly

+0

(PSは私がperlを愛していて、これをperlで書くことができればいいと思っています) – spudly

0

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

仕事?

+0

これはうまく動作しますが、避ける... – spudly

関連する問題