Hatalar oluştuğunda sistemi koruyup kullanıcıyı bilgilendiren mekanizma
Hatalar oluştuğunda sistemin çökmeden devam etmesini sağlayan, kullanıcıya uygun mesaj gösteren ve geliştiricileri bilgilendiren bir hata yönetim sistemi kurduk.
Kritik işlemler koruma altında
404, 500, 503 için tasarımlı sayfalar
Kritik hatalarda ekibe bildirim
Hata olsa bile sistem çalışmaya devam eder
Bir hata oluştuğunda Laravel'in ExceptionHandler mekanizması devreye girer ve hatayı zararsız hale getirir. Kullanıcı sadece düzgün bir hata sayfası görürken, sistem arka planda hatayı kayıt altına alır.
Kod içinde bir hata oluştuğunda PHP throw new Exception() ile hatayı fırlatır. Bu hata try-catch bloğuyla yakalanabilir veya global handler'a düşer.
App\Exceptions\Handler sınıfı hatayı yakalar. Bu sınıf Illuminate\Foundation\Exceptions\Handler'dan türer ve report(), render() metodlarını içerir.
report() metodu hatayı loglama sistemine gönderir. Log::error($exception) ile storage/logs/laravel.log dosyasına yazılır. Stack trace, dosya adı, satır numarası dahil edilir.
Hata tipine göre HTTP durum kodu atanır: ModelNotFoundException → 404, AuthenticationException → 401, ValidationException → 422, genel hatalar → 500.
render() metodu kullanıcıya gösterilecek yanıtı hazırlar. API isteklerinde JSON response döner, web isteklerinde resources/views/errors/500.blade.php gibi özel hata sayfası render edilir.
Kritik hatalar için $dontReport listesinde olmayan exception'lar Slack, email veya harici servislere bildirilir. report() içinde Notification::send() veya Bugsnag, Sentry entegrasyonu kullanılır.
Son oluşan tüm hatalar
Hatanın detaylı kod izi
En çok oluşan hata tipleri
Çözülmüş/aktif hatalar
Kodda olusan beklenmedik hata durumu
Hatanın hangi satırdan kaynaklandığını gösteren iz
Hatayı yakalayıp yöneten kod yapısı
Sunucu yanit kodu (200, 404, 500 vs.)