• ベストアンサー

PHP5の例外処理について。

PHP5からtry, catchが実装されたのですが、以下の点がわからないです。 他の言語のような、finallyはないのでしょうか? (正常でも異常でも必ず実行する箇所のことです。) 可能であれば、サンプルを提示していただけるとありがたいです。 ご回答、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • galluda
  • ベストアンサー率35% (440/1242)
回答No.1

がると申します。 PHP5では、少なくとも現在の5.1.2までの間ではfinallyは無かったかと。 # ちなみにC++もないです。

TERIYAKIcom
質問者

お礼

ありがとうございます。 やはり無いですよね。 教えていただきとても助かりました。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

参考URLがローカルになってました^^; 訂正 http://www.php.net/manual/ja/language.exceptions.php

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

PHP5の場合 try で例外が発生しても、その後の文は(正常でも異常でも)実行されます。(なのでfinally は構文としては必要ない) 例: <?php function div($a, $b) { try { if($b==0) throw new Exception("0での割り算はできません"); $ret=$a/$b; #例外が発生したら実行されない } catch (Exception $e) { echo '例外発生', $e->getMessage(), "\n"; } echo "$a/$b\n"; #異常正常に関係なく実行される return $ret; } $ret=div(10, 3); print "ret:$ret\n"; $ret=div(10, 0); print "ret:$ret\n"; ?>

参考URL:
D:\Book\PHP\html\language.exceptions.html
TERIYAKIcom
質問者

お礼

回答ありがとうございます。 確かに、そうなのですが Java言語でのfinallyは、catch内でthrowやreturnした場合でも処理を行ってくれたので そのようにできたらソースコードが見やすくなるのではないかな。と思ってこの質問をさせていただきました。

関連するQ&A