364 of 410 menu

finallyコマンド

ブロックfinallyは、tryおよびcatch構文と組み合わせて例外を処理するために使用されます。finally内のコードは、tryブロックの成功時にも例外発生時にも、いずれの場合も実行されます。

構文

try { // 例外を引き起こす可能性のあるコード } catch (Exception $e) { // 例外の処理 } finally { // いずれの場合も実行されるコード }

コードが正常に実行される例:

<?php try { $res = 10 / 2; echo "Result: " . $res . "\n"; } catch (Exception $e) { echo "Exception: " . $e->getMessage() . "\n"; } finally { echo "This will always execute\n"; } ?>

コードの実行結果:

Result: 5 This will always execute

例外処理の例:

<?php try { $res = 10 / 0; echo "Result: " . $res . "\n"; } catch (Exception $e) { echo "Exception: " . $e->getMessage() . "\n"; } finally { echo "This will always execute\n"; } ?>

コードの実行結果:

Exception: Division by zero This will always execute

リソース解放のためのfinallyの使用:

<?php $file = fopen("example.txt", "r"); try { // ファイル操作 if ($file) { echo "File opened successfully\n"; } } catch (Exception $e) { echo "Exception: " . $e->getMessage() . "\n"; } finally { if ($file) { fclose($file); echo "File closed in finally block\n"; } } ?>

コードの実行結果:

File opened successfully File closed in finally block

関連項目

  • 例外処理に使用されるtry構文
  • すべての例外の基底クラスであるExceptionクラス
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否