Phpde Exception İstisna Yönetimi
Phpde istisna kontrol ve yönetimi
Exceptions – İstisnalar
Istisna yönetiminin temelini, try adındaki bir bloğun içinde yer alan ve çalıştırılan kod oluşturur.
try
{
//işlevler
}
Throw new Exception('mesaj',istisna kodu);
Istisna yönetimi mekanizmasını throw anahtar sözcüğü tetikler.
catch(tip exception)
{
//istisna yönetimi
}
Tek bir try bloğuyla ilişkilendirilen birden fazla catch bloğu olabilir.
catch(Exception $e)
{
//işlemler
}
Exception örneği
<?php
function foo($x) {
if ($x==0) {
throw new Exception('Sıfıra bölünme hatası.');
}
else return 1/$x;
}
try {
echo foo(5) . "n";
echo foo(0) . "n";
} catch (Exception $e) {
echo 'İstisnai durum söz konusu: ', $e->getMessage(), "n";
}
// Continue execution
echo 'merhaba dünya';
?>
Örnekte foo isimli bir fonksiyon bir parametre ile tanımlanmış. Fonksiyon içerisindeki koşul yapısı $x değişkeninin sıfıra eşit olup olmadığını kontrol ediyor ve eşit ise bir istisna fırlatıyor.
Kodun devamında, tanımlanan bu fonksiyon iki ayrı değerle çağırılmakta. Bu işlemler try bloğu içerisinde tanımlanmış, devamında gelen catch bloğu ise oluşacak istisnaları yakalayacaktır. Ikinci fonksiyon çağrısına gönderilen değer sıfır olduğu için fonksiyon istisna fırlatacak ve catch bloğu tarafından yakalanacaktır.
Örneğin çıktısı ise;
0.2
İstisnai durum söz konusu: Sıfıra bölünme hatası.
Merhaba dünya
şeklindedir.
Exception sınıfında tanımlı hazır işlevler
getCode()
exception yapılandırıcısına girilen ikinci parametre olan hata kodunu döndürür
getMessage()
exception yapılandırıcısına girilen birinci parametre olan hata mesajın döndürür
getFile()
istisnanın fırlatıldığı kod dosyasına giden tam yolu döndürür
getLine()
kod dosyasındaki istisnanın fırlatıldığı satırın numarasını döndürür
Kaynak: Baturay Daylak