A finally parancs
A finally blokkot a try és catch szerkezetekkel együtt használjuk a kivételek kezelésére. A finally-en belüli kód minden esetben végrehajtódik - akár a try-blokk sikeres végrehajtásakor, akár kivétel keletkezése esetén.
Szintaxis
try {
// Kód, amely kivételt válthat ki
} catch (Exception $e) {
// A kivétel kezelése
} finally {
// Kód, amely minden esetben végrehajtódik
}
Példa
Példa a kód sikeres végrehajtásával:
<?php
try {
$res = 10 / 2;
echo "Eredmény: " . $res . "\n";
} catch (Exception $e) {
echo "Kivétel: " . $e->getMessage() . "\n";
} finally {
echo "Ez mindig végrehajtódik\n";
}
?>
A kód végrehajtásának eredménye:
Eredmény: 5
Ez mindig végrehajtódik
Példa
Példa kivétel kezelésével:
<?php
try {
$res = 10 / 0;
echo "Eredmény: " . $res . "\n";
} catch (Exception $e) {
echo "Kivétel: " . $e->getMessage() . "\n";
} finally {
echo "Ez mindig végrehajtódik\n";
}
?>
A kód végrehajtásának eredménye:
Kivétel: Division by zero
Ez mindig végrehajtódik
Példa
A finally használata erőforrások felszabadításához:
<?php
$file = fopen("example.txt", "r");
try {
// Munka a fájllal
if ($file) {
echo "A fájl sikeresen megnyílt\n";
}
} catch (Exception $e) {
echo "Kivétel: " . $e->getMessage() . "\n";
} finally {
if ($file) {
fclose($file);
echo "A fájl bezárásra került a finally blokkban\n";
}
}
?>
A kód végrehajtásának eredménye:
A fájl sikeresen megnyílt
A fájl bezárásra került a finally blokkban