2017年11月23日木曜日

PHP 例外がとらえられない

WindowsのPHP 5.4で、例外がとらえられず、困っています。

$strには、文字列で、式を与えます。例えば、"!(false && true)|| false "

try{
   $ret = eval("return (" . $str ");");
}catch(Exception $ex){
   $ret = false;

}

$strが正しく評価できる文字列であれば、問題ありません。
評価できない場合、PHP5.4では、evalがfalseを返すはずですが、例外が発生します。
参考までに、PHP7では、ParseErrorが発生します。

@evalとしても、例外が発生します。
例外が発生するならば、catchでとらえられるはずですが、とらえられずに困っています。


0 件のコメント:

コメントを投稿