exitで、プログラムを終了させる。
例外が起きても、finallyは実行される。
<html> <head> <title>exit</title> </head> <body> <?php function func($x, $y){ if ($y == 0){ throw new Exception("divided by zero!"); } return $x / $y; } try{ $ret = func(6, 0); } catch(Exception $e){ echo $e->getMessage(); echo "<br />\n"; } finally{ echo "finally start!<br />\n"; echo "finally end!<br />\n"; } echo "$ret\n"; ?> </body> </html>
これなら、
finallyを最後まで実行する。
しかし、こうやってexitを挟んだらどうだろうか。
exitの引数には異常終了なら1を指定する。
finally end!が表示されない。
exitで終了してしまったから。
Sample/php/exit/exit/src/exit at master · bg1bgst333/Sample · GitHub