このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

assert() 関数には文字列を渡す

第3回 CakePHP 勉強会で時間の都合から言えなかったことがありました。 assert() 関数には式を渡すのではなく文字列を渡して使うのが正解です。

assert($arg != 0);   // 誤り!
assert('$arg != 0'); // OK

どちらの記述も一見すると正しく動いているように見えるのですが、式が成立しないときのエラーメッセージが変わります。前者は失敗したことしかわかりませんが、後者はどの式に失敗したのかがわかります。

ながらく C/C++ のプリプロセッサという超法規的措置の assert を使っていた人は要注意です。

back to top