Help us understand the problem. What is going on with this article?

[PHP]try-catch-finallyのfinally句で、syntax errorが出る原因

PHPのtry-catch-finally文の、finally句でsyntax errorが出た。
エラー内容は以下のような感じ。

PHP Parse error:  syntax error, unexpected '{' (以下省略)

パッと見間違ってないし、finally句を除くと処理がうまくいく。

調査を続けたところ、finally句は、PHP5.5より前のバージョンだと、使えないらしい。

対象サーバのPHPのバージョンを確認してみる

$ php -v
PHP 5.3.3 (cli) (built: Jul  9 2015 17:39:00)
(以下省略)

PHPのバージョンが5.3.3・・?
5.5より古いやないかい!

PHPのバージョンが7以上のサーバで実行したところ、うまくいきましたとさ!

結論

PHPのtry-catch-finallyのfinally句で、syntax errorが出た場合は、バージョンが5.5より前のバージョンでないか確認 & 該当の場合はfinally句は使わないようにすべし!

参考

C_HERO
新人時代、プログラミングの成績がワースト2%の超アナログ系。 日々の学びを記事にしていきます。
https://github.com/CHI-3
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away