![]() |
![]() |
![]() |
|||||||||||||||||||||||
|
PHP 5 Exception (try-catch) Bu yazıda Php 5 ile birlikte gelen en önemli özelliklerden biri olan Exception'lardan bahsedeceğim. Namı değer try-catch yapısı. Peki biz bu Exception lara neden gerek duyuyoruz öncelikle bu sorunun cevabını verelim. Yazılım geliştirmede yazılımı kodlamak kadar debug (hata ayıklama) da önemlidir. Çok büyük projelerde bir hata denetim mekanizması oluşturmadan ilerlersek, betiğimiz herhangi bir hata oluşturduğunda bu hatayı ayıklamak(bulmak ve onarmak) çok güç olacaktır. yüz binlerce satır kodun arasından hatanın nereden kaynaklandığını bulmak, büyük zaman ve iş gücü kaybına neden olabilir. İşte tam bu noktada Exception imdadımıza koşuyor. Aşağıda 2 adet kod bloğu var iki kodu da dilerseniz çalıştırıp çıktılarına bakabilirsiniz.
İlk kodumuz try-catch yapısı içerisinde yazıldı ve bu sayede hata denetimini kedi elimizde tutabiliyoruz. İlk kodumuz çalıştırdığımızda aşağıdaki gibi bir çıktı aldık. Peki kodumuz ne yaptı bir bakalım. İlk olarak 20 sayısı 5 e bölündü ve sonucu 4 yazıldı. Tekrar bolme() metodu çağırıldı. Fakat $bolen değeri 0 olduğu için throw ile yeni bir exception fırlatıldı fırlatılan exception catch tarafından yakalanıp $e exception nesnesi yaratıldı $e nesnesi birçok metod içeriyor yazının ilerleyen bölümlerinde bunları da göreceğiz. Son olarak try { } içerisindeki kod bloğu durdurulup catch {} den sonraki satırdan betiğimiz çalışmaya devam etti ve merhaba kelmesini yazdırdı. Görüldüğü gibi hata oluştuğunda betiğimizin tamamı durmadı sadece try {} içerisindeki kod bloğu durdurulup betik kaldığı yerden devam etti. İkinci kodumuz daha sıradan ve hata denetimi yapılmamış durumda. İkinci kodumuzda try-catch kullanmadık ve ekranımızda bir warning mesajı aldık. Sıfıra bölme php yorumlayıcısı tarafından warning olarak bildiriliyor. Php yorumlayıcısı warning verdiğinde script betiği durmaz. Bu nedenle ekran çıktımız. şeklinde olacaktır. Sıfıra bölme işlemi warning değilde fatal error olarak karşımıza çıksaydı çıktımız. şeklinde olacaktı ve program betiğimiz durdurulacaktı. Belki php ile yazılan kodlarda OOP kullanılmadıysa bu durum pek fazla sorun olmaya bilir hatalı satıra gideriz ve durumu çözebiliriz. Fakat OOP Class yapısı ile yazılan scriptlerde hatayı hata satırını bulmamamız çok daha zor olacak tır. Bununla birlikte eğer geliştirmekte olduğunuz proje sürekli yaşamak zorunda ise örneğin bir e-ticaret portalı geliştiriyorsanız exception kullanmanız her zaman sizin yararınıza olacaktır. Mersela e-ticaret portalı geliştiriyorsunuz ve merkez bankasından döviz kurlarını çekip yazdırmanız gerekli ve bu kodu exception kullamadan yazdınız. İşleyen sisteme upload ettiniz. merkez bankasından veriler alınırken bir hata ile karşılaştınız. Ne oldu ekranda kocaman bir error yazısı siteye müşteriler erişemiyor. E-bay 30 saniye bu nedenle kapalı kalmış olsa 10.000 lerce dolar zarar ederdi herhalde. Şimdi de Exception nesnesini biraz inceleyelim. exception sınıfının yapısı bu şekilde. Örnek olması açısında Exception nesnesinin birkaç metodunu yukarıda yazdığımız kod da kullanalım. Evet benden şimdilik bu kadar herkese iyi çalışmalar. Okan ATABAĞ okanatabag@gmail.com Yorumlar ![]() Hiç yorum yapılmamış |
Oturum Açmadınız
Php ![]() Üyelik ![]() » Üye Değilim » Aktivasyon » Şifremi Unuttum » Üye Girişi Menü ![]() Arama ![]() |
||||||||||||||||||||||||
![]() |
![]() |
![]() |
|||||||||||||||||||||||