Custom exception types for use across all Levge packages.
$ dotnet add package Levge.ExceptionsLevge.Exceptions, tüm Levge paketlerinde tutarlı hata yönetimi sağlayan hafif bir kütüphanedir.
dotnet add package Levge.Exceptions
Install-Package Levge.Exceptions
Özel bir yapılandırma gerekmez. Sadece paketi projenize ekleyin ve istisna türlerini kullanmaya başlayın.
// Mesaj ile temel kullanım
throw new LevgeException("Bir şeyler ters gitti");
// Kaynak bilgisi ile bulunamadı (Not Found) istisnası
throw new LevgeNotFoundException("Kullanıcı", 123);
// Belirli bir alan için çakışma (Conflict) istisnası
throw LevgeConflictException.ForField("Email", "user@example.com");
// Birden fazla hata içeren doğrulama (Validation) istisnası
var errors = new Dictionary<string, string[]>
{
{ "KullaniciAdi", new[] { "Kullanıcı adı gereklidir" } },
{ "Email", new[] { "Geçersiz email formatı", "Email alan adına izin verilmiyor" } }
};
throw new LevgeValidationException(errors);
// Yetkisiz erişim (Unauthorized) istisnası
throw new LevgeUnauthorizedException();
try
{
// İş mantığı kodları...
ValidateUser(user);
}
catch (LevgeNotFoundException ex)
{
// Kaynak bulunamadı (404)
logger.LogWarning("Kaynak bulunamadı: {Message}", ex.Message);
}
catch (LevgeValidationException ex)
{
// Doğrulama hatası (400)
foreach (var error in ex.Errors)
{
Console.WriteLine($"{error.Key}: {string.Join(", ", error.Value)}");
}
}
catch (LevgeException ex)
{
// Diğer Levge hataları
logger.LogError("Levge hatası: {Message}", ex.Message);
}
| İstisna Türü | Açıklama |
|---|---|
LevgeException | Tüm Levge'ye özgü istisnalar için temel sınıf |
LevgeNotFoundException | İstenen kaynak bulunamadığında fırlatılır |
LevgeConflictException | Bir kaynak çakışması olduğunda fırlatılır (örn. mükerrer kayıt) |
LevgeUnauthorizedException | Kullanıcının bir eylem için izni olmadığında fırlatılır |
LevgeValidationException | Giriş doğrulaması ayrıntılı hata bilgileriyle başarısız olduğunda fırlatılır |
MIT Lisansı. Detaylar için LICENSE dosyasına bakınız.