PHP'de istisna (exception) kavramı, bir programın çalışma sırasında ortaya çıkan özel durumları temsil eder. İstisnalar, programın normal akışını değiştiren ve işlenmesi gereken hataları ifade eder. İstisnalar, genellikle try
, catch
, throw
, ve finally
anahtar kelimeleri kullanılarak yönetilir.
İşte bir örnek:
try {
// İstisna oluşturan kod bloğu
$bolunen = 10;
$bolen = 0;
if ($bolen === 0) {
throw new Exception("Bölme işlemi sıfıra bölünemez!");
}
$sonuc = $bolunen / $bolen;
echo "Sonuç: " . $sonuc;
} catch (Exception $e) {
// İstisna durumunda çalışacak kod bloğu
echo "Hata: " . $e->getMessage();
} finally {
// İstisna olsun ya da olmasın her durumda çalışacak kod bloğu
echo "İşlem tamamlandı.";
}
Bu örnekte:
try
: İstisna oluşturulması muhtemel kod bloğunu içerir.catch
: İstisna durumunda çalışacak kod bloğunu içerir. Oluşan istisna,catch
bloğuna gider ve burada işlenir.throw
: İstisna oluşturmak için kullanılır. Belirli bir koşul sağlandığında, program akışını değiştirmek ve hata bildirmek için kullanılır.finally
: İstisna olsun ya da olmasın her durumda çalışacak kod bloğunu içerir. Opsiyoneldir.
İstisnalar, özellikle dış kaynaklarla (dosya okuma/yazma, veritabanı bağlantısı gibi) çalışırken ortaya çıkabilecek hataları ele almak için kullanılır. Bu sayede hata durumları daha düzenli ve kontrol edilebilir bir şekilde yönetilebilir.