finally Komutu
finally bloğu, istisnaları işlemek için try ve catch yapılarıyla birlikte kullanılır. Finally içindeki kod, hem try bloğu başarıyla çalıştığında hem de bir istisna oluştuğunda, her durumda çalışacaktır.
Sözdizimi
try {
// İstisnaya neden olabilecek kod
} catch (Exception $e) {
// İstisnanın işlenmesi
} finally {
// Her durumda çalışacak kod
}
Örnek
Kodun başarıyla çalıştığı bir örnek:
<?php
try {
$res = 10 / 2;
echo "Sonuç: " . $res . "\n";
} catch (Exception $e) {
echo "İstisna: " . $e->getMessage() . "\n";
} finally {
echo "Bu her zaman çalışacak\n";
}
?>
Kodun çalıştırma sonucu:
Sonuç: 5
Bu her zaman çalışacak
Örnek
İstisna işleme örneği:
<?php
try {
$res = 10 / 0;
echo "Sonuç: " . $res . "\n";
} catch (Exception $e) {
echo "İstisna: " . $e->getMessage() . "\n";
} finally {
echo "Bu her zaman çalışacak\n";
}
?>
Kodun çalıştırma sonucu:
İstisna: Division by zero
Bu her zaman çalışacak
Örnek
Kaynakları serbest bırakmak için finally kullanımı:
<?php
$file = fopen("example.txt", "r");
try {
// Dosya ile çalışma
if ($file) {
echo "Dosya başarıyla açıldı\n";
}
} catch (Exception $e) {
echo "İstisna: " . $e->getMessage() . "\n";
} finally {
if ($file) {
fclose($file);
echo "Dosya finally bloğunda kapatıldı\n";
}
}
?>
Kodun çalıştırma sonucu:
Dosya başarıyla açıldı
Dosya finally bloğunda kapatıldı