Asp.Net Core Mvc - Exception Filtresi Yazmak
Asp.Net Core Mvc - Exception Filtresi Yazmak
Asp.Net Core Mvc ile gelen profesyonel olarak hata yakala tekniklerinden biriside 'Exception' filtresidir. Bu filtreyi kullanmak için projemize bir class ekliyoruz. Eklediğimiz class'ı 'ExeptionFilterAttribute' ten miras alarak kullanacağız. Ardından 'override' 'OnException' metodunu ekliyoruz.
public class HandleExceptionAttribute : ExceptionFilterAttribute { public override void OnException(ExceptionContext context) { } }
Hata olması durumunda bize bir sonuç dönecek. Sonucu da bir 'view' de göstereceğiz. Bunun için 'View' klasöründe 'Error' isimli boş bir 'view' oluşturalım. Ardından aşağıdaki kodları 'HandleExceptionAttribute' class'ımıza yazalım.
public class HandleExceptionAttribute : ExceptionFilterAttribute { public override void OnException(ExceptionContext context) { var result = new ViewResult { ViewName = "Error" }; var modelDAta = new EmptyModelMetadataProvider(); result.ViewData = new ViewDataDictionary(modelDAta, context.ModelState); result.ViewData.Add("HandleException", context.Exception); context.Result = result; context.ExceptionHandled = true; } }
@{ Exception exception = ViewData["HandleException"] as Exception; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Error</title> </head> <body> <h1> @exception.Message </h1> <h1>@exception.StackTrace</h1> </body> </html>
Yorumlar
Yorum Gönder
Yorumunuz alınmıştır. İncelenip yayımlanacaktır.