ASP.NET MVC HandleError Attribute’ü İle Hata Yakalama
ASP.NET MVC’de hata yaklama işlemide çok kolay biçimde yapılabilmektedir makale devamında hataları nasıl yakalacağımıza ve farklı hata sayfaları gösteriminin nasıl sağlanacağını göreceğiz.
ASP.NET MVC HandleError attribute’ü ile hata yakalama
Öncelik hata yakalama işleminin çalışabilmesi için web.Config dosyanıza customError etiketini aşağıdaki gördüğünüz etiketlerin arasına aynen yazınız varsa customError etiketi o zaman model attribute’ünün değerinin On olup olmadığını kontrol edin.
Şimdi hata yakalama işlemini gerçekleştirebilmek için bazı ayarlar yapmamız gerekiyor MVC4 framework’lu projenizde App_Start klasörü altında FilterConfig adındaki sınıf altında aşağıdaki gibi tanımlı bir metod olması gerekiyor.
Sıraki işlem FilterConfig adlı sınıfın altında yer alan RegisterGlobaFilters adlı metodun Global.asax adlı dosya içerisinde tanımlanması gereklidir aşağıdaki gibi Application_Start metodunda belirtmelisiniz
Şimdi hata yakalama işelmine geçebiliriz Eğer Controller geneline özel hata yakalama yapmak isterseniz aşağıdaki gibi bir tanım işinizi görecektir.
Controller sınıfı üzerinde tanımlı olan 2 HandleError attribute’ünün farkı ilk attribute’de eğer oluşan hata türü SqlExecutionException ise SqlHata.cshtml adlı view’i ekrana bastır eğer SqlExecutionException sınıfından farklı bir hata oluştuysa o zaman varsayılan olarak view belirtmemiş olsanız bile View->Shared klasörü altında tanımlayacağınız Error.cshtml adlı view dosyasını ekrana bastıracaktır. Index ActionResult’ımızda SqlExecutionException türünde hata fırlattık böylelikle SqlHata.cshtml adlı view dosyasının içeriğini ekrana bastıracaktır ve görüntü aşağıdaki gibi olacaktır.