Дастури 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