PHP’de istisna (exception) yönetimi, hata durumlarını ele almak için kullanılır. İstisna yönetimi, kodun okunabilirliğini ve bakımını kolaylaştırır ve daha güvenilir bir uygulama geliştirmeye yardımcı olur. İşte, PHP’de istisna yönetimi yapmak için kullanabileceğiniz bazı faydalı özellikler ve örnek bir kod:
try-catch
Blokları
try-catch
blokları, programın belirli bir bölümünde oluşan hataları yakalamak için kullanılır.
try {
// Hata oluşturan kodlar
} catch (Exception $e) {
// Hata yönetimi
}
Yukarıdaki örnekte, try-catch
bloklarının temel kullanımı gösterilmektedir. try
bloğunda hata oluşturan kodlar yer alırken, catch
bloğunda bu hataların nasıl yönetileceği belirtilir.
throw
İfadesi
throw
ifadesi, belirli koşullarda bir istisna oluşturur.
if ($a == 0) {
throw new Exception("Değer sıfır olamaz");
}
Yukarıdaki örnekte, $a
değişkeninin sıfır olması durumunda bir istisna oluşturduk.
Özel İstisna Sınıfları
Özel bir istisna sınıfı oluşturarak kendi istisnalarınızı tanımlayabilirsiniz. Bu şekilde, özel bir hata mesajı veya işlem yapabileceğiniz özel bir kod ekleyebilirsiniz.
class CustomException extends Exception {
public function __construct($message, $code = 0, Throwable $previous = null) {
parent::__construct($message, $code, $previous);
}
public function __toString() {
return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
}
public function customFunction() {
echo "Custom function";
}
}
Yukarıdaki örnekte, CustomException
adlı özel bir istisna sınıfı oluşturuyoruz.
Örnek Kod
function divide($dividend, $divisor) {
if ($divisor == 0) {
throw new Exception("Sıfıra bölme hatası");
}
return $dividend / $divisor;
}
try {
echo divide(5, 0);
} catch (Exception $e) {
echo "Hata: " . $e->getMessage();
}
Yukarıdaki örnekte, divide()
fonksiyonu içinde 0
‘a bölme hatası kontrolü yapıyoruz. Fonksiyon try-catch
bloklarında kullanıldığındaysa, oluşan istisna catch
bloğuyla yakalanarak bir hata mesajı yazdırılıyor.
Bu şekilde, PHP’de istisna yönetimi yapabilirsiniz.