Merhaba arkadaşlar,
Birçok programlama dilinde olduğu gibi php dilinde de ölümcül hata olarak nitelendirilen hatalarla karşılaşmışsınızdır. Peki nedir bu ölümcül hata dedikleri muhabbet ? Bu hatayı diğer hatalardan ayırıp ölümcül diye nitelendiren unsurlar ne ?
Aslına bakarsanız bu unsurlar o kadar da karışık değil hatta çok basit sadece genel kültür olsun diye sizlerle paylaşma gereği duydum. Kısa bir örnekle açıklamak gerekirse diyelimki sayfanızın biyerinde $_GET parametresiyle aldığınız değeri kontrol ediyorsunuz ve bu değer boş olduğu zaman basit bir php hata mesajı görüntülersiniz. Hatanın kaynaklandığı satırdan sonraki satırlar çalışmaya devam eder. Yani oluşan hata betiğin çalışmasını engellemez. Ölümcül hata orjinal adıyla Fatal Error ise diyelimki sayfanın en üst kısmında veritabanı değişkenlerini tuttuğunuz db.php dosyasını include ettiniz. Fakat db.php dosyanız belirttiğiniz adreste yok. Bu durumda yine bir php hatası görüntülersiniz. Ancak yukarıdaki örnekte olanın tam tersine hatayı aldığınız satırdan sonraki satırlar çalışmaz ve betiğinizin yani scriptinizin çalışması engellenir.
Php ve diğer programlama dillerinde bahsedilen ölümcül hatanın tanımı budur. PHP dilinde ölümcül hatalar genellikle include, require_once gibi fonksiyonlarında belirtilen dosyaların bulunamaması, COM istisnaları, mvc mimarisiyle çalışıyorsanız method ve class isimlerinin kontrollerının yapılmadan çağırılmasında oluşur. Php’de bu hataları daha doğru bir şekilde yakalamak ve betiğin durma sorunu gibi giderilemeyen hatalarıE_ERROR fonksiyonuyla yakalayıp kullanabilirsiniz. Bir sonraki yazımda görüşmek üzere ölümcül hatasız kodlamalar dilerim 🙂
include fatal error oluşturuyormuydu ?
include etmeye çalıştığınız dosya bulunamıyorsa oluşturur 🙂