Exceptionが起きても、実行しないといけない処理は、finallyに書く。
<html> <head> <title>finally</title> </head> <body> <?php function func($x, $y){ if ($y == 0){ throw new Exception("divided by zero!"); } return $x / $y; } try{ $ret = func(6, 2); } catch(Exception $e){ echo $e->getMessage(); echo "<br />\n"; } finally{ echo "finally!<br />\n"; } echo "$ret\n"; ?> </body> </html>
だと、Exceptionは起きないので、
3が表示されるが、その前にfinally!も表示される。
これだと、Exceptionは起きるので、
例外処理のメッセージが表示されて、しかしfinally!も表示される。
Sample/php/finally/finally/src/finally at master · bg1bgst333/Sample · GitHub