Merhabalar ,

Bu yazımda api mizde hataları yakalamak için Exception Filter ın nasıl kullanılacağından bahsedeceğim , hataları birçok şekilde yakalayabiliriz örn , heryere try catch blok ları koyularakta bu işlemler yapılabilir , fakat bunun önüne geömek için microsoft ExceptionFilterAttribute sınıfını oluşturmuştur. Örneğimizi yaparken bu sınıfı kullanacağız .

Projemizde öncelik olarak kendi Filter ımızı oluşturacağız , adı MyErrorAttribute olsun ve ExceptionFilterAttribute sınıfından miras alsın , ve bu sınıfın onException metodunu ezip kendi istediğimiz işlemleri yaptıralım.

Örnek olarak hata aldığında bu hatayı loglayalım , ve hata için response oluşturalım.

Örnek amaçlı Log işlemi için Logger.cs adınada bir sınıf oluşturdum ,  static bir LogYaz metodu olsun ,içeriğini kendi sisteminizin yapısına göre doldurabilirsiniz.

 

screenshot_8

Hata mesajı içeriğini actionExecutedContext ten alıyoruz .

Response mesajı olarak belirlediğimiz bir tipte bir sınıfta bir hata response döndürmesi için kendi response sınıfımı oluşturuyorum.

MyErrorResponse.cs adında bir sınıf oluşturuyorum .

Oluşturduğumuz sınıfı response olarak kullanalım

Yazmış olduğumuz MyErrorAtrribute.cs in son hali .

screenshot_9

 

Artık bu attribute ü istediğimiz controller veya action üzerine ekleyerek kullanabiliriz.

Örn :

screenshot_10

Çalışmasını test etmek için  throw ile hata fırlatalım.

screenshot_12

Sonuç :

screenshot_11

Bu yazımızın da sona geldik , hem not hem de hatırlatma olarak , umarım size de faydası olur.

Print Friendly, PDF & Email
Bu alana reklam verebilirsiniz!