Запіс на курсы па HTML, CSS, JavaScript, PHP, Python, фрэймворкам і CMS,
а таксама: дапамога ў пошуку працы і заказаў, стажыроўка на рэальных праектах→
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,
    які з'яўляецца базавым класам для ўсіх выключэнняў
byenru