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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне