finally командасы
finally блогы ерекшеліктерді өңдеу үшін try және catch конструкцияларымен бірге қолданылады. Finally ішіндегі код кез келген жағдайда орындалады - try-блок сәтті орындалғанда да, ерекшелік туындағанда да.
Синтаксис
try {
// Ерекшелік тудыруы мүмкін код
} catch (Exception $e) {
// Ерекшелікті өңдеу
} finally {
// Кез келген жағдайда орындалатын код
}
Мысал
Кодтың сәтті орындалу мысалы:
<?php
try {
$res = 10 / 2;
echo "Нәтиже: " . $res . "\n";
} catch (Exception $e) {
echo "Ерекшелік: " . $e->getMessage() . "\n";
} finally {
echo "Бұл әрқашан орындалады\n";
}
?>
Кодты орындау нәтижесі:
Нәтиже: 5
Бұл әрқашан орындалады
Мысал
Ерекшелікті өңдеу мысалы:
<?php
try {
$res = 10 / 0;
echo "Нәтиже: " . $res . "\n";
} catch (Exception $e) {
echo "Ерекшелік: " . $e->getMessage() . "\n";
} finally {
echo "Бұл әрқашан орындалады\n";
}
?>
Кодты орындау нәтижесі:
Ерекшелік: Division by zero
Бұл әрқашан орындалады
Мысал
Ресурстарды босату үшін finally қолдану:
<?php
$file = fopen("example.txt", "r");
try {
// Файлмен жұмыс
if ($file) {
echo "Файл сәтті ашылды\n";
}
} catch (Exception $e) {
echo "Ерекшелік: " . $e->getMessage() . "\n";
} finally {
if ($file) {
fclose($file);
echo "Файл finally блокта жабылды\n";
}
}
?>
Кодты орындау нәтижесі:
Файл сәтті ашылды
Файл finally блокта жабылды