Mert Özen Her Satırda Daha İleri
Anasayfa Videolar HospitalLite (HMS): Global Exception Handling
HospitalLite (N-Tier Architecture Project)

HospitalLite (HMS): Global Exception Handling

22 Ağu 2026 09:12
YouTube'da izle
Açıklama

Bu video, .NET tabanlı bir Web API projesinde Global Exception Handling (Küresel Hata Yönetimi) yapısının nasıl kurulacağını uygulamalı olarak göstermektedir. Projedeki temel amaç, her controller'da ayrı ayrı try/catch blokları kullanmak yerine, hata yönetimini tek bir merkezde toplayarak daha temiz ve sürdürülebilir bir kod yapısı oluşturmaktır.

Videonun öne çıkan başlıkları:

  • Neden 500 Hatası Yerine Özel Hata Yönetimi?: Kullanıcı hatalı işlem yaptığında API'nin doğrudan 500 Internal Server Error dönmesi yerine, hatanın türüne göre (401 Unauthorized, 404 Not Found gibi) uygun HTTP durum kodları ve anlamlı mesaj anahtarlarıyla (messageKey) dönmesi sağlanır (0:00 - 0:42).
  • Middleware Kullanımı: Hata yönetimini bir boru hattı (pipeline) mantığıyla yönetmek için ExceptionMiddleware adında özel bir middleware oluşturulmuştur. Bu yapı, beklenmeyen hatalarda sunucu bilgilerinin (stack trace) dışarı sızmasını engeller ve istemciye yalın, düzenli bir hata yanıtı döner (4:12 - 6:33).
  • Özel Exception Sınıfları: Hataları kategorize etmek için AppException tabanlı özel exception sınıfları (UnauthorizedException, NotFoundException) oluşturulmuştur (0:53 - 3:40).
  • Pipeline'a Dahil Etme: Oluşturulan middleware, Program.cs dosyası üzerinden HTTP istek pipeline'ına eklenerek projenin tamamında aktif hale getirilmiştir (7:40 - 8:05).

Sonuç olarak, yanlış şifreyle giriş denemesi gibi hatalı durumlarda API artık temiz bir zarf içinde, kullanıcı dostu bir hata mesajı ve doğru HTTP durum kodu döndürmektedir (8:10 - 8:54).