PHP de Exception Oluşturma ve Kullanma

PHP de Exception Oluşturma ve Kullanma

Hepinize merhaba dostlarım :). Bu yazımda sizlere php de genellikle az kullanılan ama bilmemizin de faydalı olacağı konulardan birisi olan Exception lardan bahsedeceğim :). Bir çoğunuz ilk duymuş olabilirsiniz hak veririm dostlarım çünkü normalde neredeyse php projelerinde görmediğimiz için aynı tepkiyi verebiliyoruz :). Şimdi sözü daha fazla uzatmadan dostlarım gelelim Exception nedir ve nasıl oluşturulur onları inceleyelim ve  ufak örneklerle de konuyu pekiştirelim :)

Exception Nedir ?

Gelelim dostlarım exception nedir ne değildir buna bir bakalım önce :). Exception dan bahsetmek gerekirse dostlarım bir kod bloğunda veya kod satırında beklenmedik bir davranış veya hatalı bir işlem oluştuğu anda bize verilen mesajdır. Örnek vermemiz gerekirse

ifadesi bir exception dur :). Bu hata İngilizce olarak karşımıza genellikle proje yaparken kod geliştirirken sıklıkla çıkar :). Hatada bize dizi yani array leri bir string formata dönüştürülemeyeceğini söylüyor :). İşte dostlarım bu hata mesajlarına Exception diyoruz :). Gelin bir kod yazalım ve buradaki hatayı exception yardımıyla ekrana bastırıp inceleyelim :).

<?php
  $dogumYili = 1999;
  $sonuc = 1999/0;
  echo $sonuc;
?>

şeklinde dostlarım kodumuzu yazdık. Çalışacak diyenler var çalışmayacak diyenler var aranızda seziyorum :). Gelin sonuca hep birlikte bakalım dostlarım :).

Warning: Division by zero on line 4

şeklinde bize hata döndürüyor dostlarım :). Bu hatada bizim karşımıza çıkan uyarıda "Kardeşim iki sayı için bölme işlemi yaparken bölen sayı 0 olamaz :). Aman dikkatli ol" uyarısını veriyor dostlarım :).Ama eğer 0 yerine başka bir sayı girmiş olsaydık dostlarım

<?php

$dogumYili = 1999;
$sonuc = 1999/3;
echo $sonuc;

// Ekran Çıktısı:  666.33

?>

şeklinde belirtildiği gibi bir çıktı olacaktı dostlarım :). Buraya kadar anladığınızı ve bir sorun olmadığını umuyorum dostlarım :). Şimdi gelelim exception nasıl oluşturuluyormuş onu inceleyelim :).

Exception Nasıl Oluşturulur ?

Artık exception un ne olduğunu ve hangi durumlarda karşımıza çıktığını anladığımıza göre dostlarım gelelim şimdi exception un nasıl oluşturulduğuna dostlarım :). Proje geliştirirken uyarıları alert olarak verdirdiğimiz (izimodal, iziToast vs gibi) zamanlar haricinde yeri gelir exception olarak verdirme durumumuz olabilir dostlarım :). Gelelim biz de bu başlığımızın altında kendi exception dosyamızı oluşturalım ve exception konusunu pekiştirelim :).

dostlarım exception oluşturmak için karşımıza çıkan anahtar kelime throw dur :). Throw ile biz exception umuzu rahatlıkla oluşturabilir ve ekranımıza bastırabiliriz :). Şimdi gelelim dostlarım yukarıda yaptığımız bölme işlemini bir fonksiyon aracılığıyla ayarlayıp bölünenin kontrolünü bir exception yardımıyla ayarlayalım

<?php

function bolme($bolunen,$bolen){
    if ($bolen==0){
        throw new Exception("Bölen 0 olamaz");
    }else{
        return $bolunen/$bolen;
    }
}

echo bolme(1999,0);

?>

şeklinde kodumuzu yazdık dostlarım. Dikkat ettiyseniz bölen sayının 0 olma durumunda throw new Exception() yani bir uyarı fırlat dedik. Buraya da "Bölen 0 olamaz" şeklinde bir uyarı verdirdik dostlarım :). Şimdi bu kodu olduğu gibi çalıştıralım ve karşımıza gelecek olan hatayı görüntüleyelim

Fatal error: Uncaught Exception: Bölen 0 olamaz on line 5

şeklinde bir hata karşımıza çıkacaktır dostlarım :). Çünkü sayının böleni 0 olduğunda mantıksal olarak tanımsız oluyor. Şimdi ise bölen sayıyı 4 olarak gönderelim ve ekran çıktısına bakalım dostlarım :)

499.75

şeklinde sonuç ekranımıza basılacaktır dostlarım :). Çünkü bölen sayı 0 değil ve bölme işlemimiz başarıyla gerçekleştirildi dostlarım :).

Dostlarım bu exception işlemi sadece hatalarda değil normal zamanlarda da uyarı verdirme yaptırmak istediğimizde ayarlanabilir. Örnek olarak gelin bunu da ehliyet algoritmasından yola çıkalım. Yaş eğer 18 ve üzeri ise ehliyet alınsın, değilse ehliyet alınamasın. Gelin bunu da exception lar ile gerçekleştirelim dostlarım :).

<?php

$yas = 21;

if ($yas>=18){
    throw new Exception("Ehliyet Alabilirsiniz");
}else{
    throw new Exception("Ehliyet Alamazsınız");
}

?>

şeklinde kodumuzu yazdık dostlarım. Yaşım 21 olduğu için ve 18 üstü olduğu için If bloğunun içerisine girecek ve içerisindeki exception ekrana yazdırılacaktır dostlarım :). Ekran çıktısı ise aşağıdaki gibi olacaktır

Fatal error: Uncaught Exception: Ehliyet Alabilirsiniz on line 6


Evet dostlarım :). Bu yazımda sizlere php programlama dilinde exception nedir nasıl oluşturulur nasıl kullanılır bunlardan dilim döndüğünce bahsettim. Umarım faydalı olmuşumdur. Normalde pek kullanılmasa da (exception oluşturma) projelerde bazı yerlerde ihtiyaç olacaktır :). Kullanmamaktansa bilgi sahibi olmak hiç yoktan iyidir dostlarım :). Başlarda biraz karmaşık veya zor gelebilir dostlarım. Her yazımın altında dediğim gibi "İstikrarlı ve Azimli Olduğunuz ve Bolca Pratik Yaptığınız" sürece başarı sizler için kaçınılmaz olacaktır dostlarım :).

Hayallerinizi gerçekleştirmeniz ve güzel yerlere gelmeniz dileklerimle... İyi çalışmalar dilerim :)

Muhammed Fatih BAĞCIVAN
Yazar Hakkında

Kendi Halinde Bir Backend Developer

Önceki YazıFramework Nedir ?
Sonraki YazıPHP de Tarih İşlemleri
Yorumlar (0)
Bu Yazıya Ait Hiçbir Yorum Bulunamadı (veya admin onaylamadı). İlk Yorum Yapan Sen Ol
Yorum Yapabilirsiniz