set_exception_handler Fonksiyonu
set_exception_handler fonksiyonu, yakalanmamış istisnaları işlemek için çağrılacak bir fonksiyon tanımlamaya izin verir. Parametre olarak bir işleyici fonksiyonun adı veya anonim bir fonksiyon iletilir. İşleyici, bir parametre olarak istisna nesnesini alır.
Sözdizimi
set_exception_handler(callable $exception_handler): callable
Örnek
Basit bir istisna işleyici tanımlayalım:
<?php
function myExceptionHandler($exception) {
echo 'Yakalanan istisna: ' . $exception->getMessage();
}
set_exception_handler('myExceptionHandler');
throw new Exception('Bir şeyler yanlış gitti!');
?>
Kodun çalıştırılmasının sonucu:
'Yakalanan istisna: Bir şeyler yanlış gitti!'
Örnek
İşleyici olarak anonim fonksiyon kullanımı:
<?php
set_exception_handler(function($exception) {
echo 'Hata: ' . $exception->getMessage();
});
throw new Exception('Kritik hata');
?>
Kodun çalıştırılmasının sonucu:
'Hata: Kritik hata'
Örnek
Önceki işleyicinin geri yüklenmesi:
<?php
function firstHandler($exception) {
echo 'Birinci işleyici: ' . $exception->getMessage();
}
function secondHandler($exception) {
echo 'İkinci işleyici: ' . $exception->getMessage();
}
set_exception_handler('firstHandler');
$old_handler = set_exception_handler('secondHandler');
restore_exception_handler(); // firstHandler'ı geri yükler
throw new Exception('Test');
?>
Kodun çalıştırılmasının sonucu:
'Birinci işleyici: Test'