Finally komandasy
finally blogy ýüz bermeleri işlemek üçin try we catch gurluşlary bilen bilelikde ulanylýar. Finally-iň içindäki kod hemme ýagdaýda - try-blogunyň üstünlikli ýerine ýetirilmegi hem, ýüz bermäniň ýüze çykmagy hem bolanda ýerine ýetiriler.
Sintaksis
try {
// Ýüz berme ýüze çykaryp bilýän kod
} catch (Exception $e) {
// Ýüz bermäni işlemek
} finally {
// Hemme wagt ýerine ýetiriler kod
}
Mysal
Koduň üstünlikli ýerine ýetirilmegi bilen mysal:
<?php
try {
$res = 10 / 2;
echo "Netije: " . $res . "\n";
} catch (Exception $e) {
echo "Ýüz berme: " . $e->getMessage() . "\n";
} finally {
echo "Bu hemme wagt ýerine ýetirer\n";
}
?>
Koduň ýerine ýetiriliş netijesi:
Netije: 5
Bu hemme wagt ýerine ýetirer
Mysal
Ýüz bermäni işlemek bilen mysal:
<?php
try {
$res = 10 / 0;
echo "Netije: " . $res . "\n";
} catch (Exception $e) {
echo "Ýüz berme: " . $e->getMessage() . "\n";
} finally {
echo "Bu hemme wagt ýerine ýetirer\n";
}
?>
Koduň ýerine ýetiriliş netijesi:
Ýüz berme: Nola bölmek
Bu hemme wagt ýerine ýetirer
Mysal
Resurslary boşatmak üçin finally-den peýdalanmak:
<?php
$file = fopen("mysal.txt", "r");
try {
// Faýl bilen iş
if ($file) {
echo "Faýl üstünlikli açyldy\n";
}
} catch (Exception $e) {
echo "Ýüz berme: " . $e->getMessage() . "\n";
} finally {
if ($file) {
fclose($file);
echo "Faýl finally blogynda ýapyldy\n";
}
}
?>
Koduň ýerine ýetiriliş netijesi:
Faýl üstünlikli açyldy
Faýl finally blogynda ýapyldy