Error Handler در ASP.NET MVC

جمعه 13 آذر 1394

در این مقاله میخواهیم بررسی کنیم که چگونه میتوانیم به خطاها رسیدگی کنیم. به طور کلی توسعه دهندگان به طورمنظم با خطا ها مبارزه میکنند در دات نت ما از بلوک های Try Catch این کار را انجام میدهیم. اما در mvc ویژگی های بیشتری وجود دارد.

Error Handler در ASP.NET MVC

مراحل زیر را دنبال کنید.

در مرحله اول یک پروژه ویژوال استودیو از نوع Mvc ایجاد کنید.

در مرحله بعد Internet Application را انتخاب کنید و روی دکمه ok کلیک کنید.

Home controller.cs را باز کنید  و کد زیر را اضافه نمایید.

public ActionResult Index()  
{  
   throw new Exception("Error occured");  
} 

هنگامی که شما برنامه را اجرا نمایید صفحه نمایش زیر نشان داده میشود.

وب کانفیگ را اجرا نمایید و  <customerror mode=“on”> را به ان اضافه کنید.

<customErrors mode="On">  
  
</customErrors> 

هنگامی که ما یک Mvc ایجاد میکنیم یک Shared folder در ان قرار میدهیم سپس درون ان فایل Error.Cshtml را قرار میدهیم. 

این صفحه پیش فرض برای خطاست.در حال حاضر یک صفت [HandleError]  در action method اضافه کنید.

[HandleError]  
public ActionResult Index()  
{  
   throw new Exception("Error occurred");  
}  

در حال حاضر برنامه را اجرا کنید

گاهی اوقات از سرور صفحه ای را میخواهیم که موجود نیست با خطای 404 روبرو می شویم. 

 

یک کنترلر جدید با نام ErrorController ایجاد کنید

یک action method به عنوان PageNotFound ایجاد نمایید.

public ActionResult PageNotFound()  
{  
   return View();  
} 

یک View برای  PageNotFound ایجاد کنید. و هر پیغامی که میخواهید در ان قرار دهید. وب کانفیگ خود را باز نمایید و ویژگی <customerror> را اجرا نمایید.

<customErrors mode="On">  
   <error statusCode="404" redirect="~/Error/PageNotFound"/>  
</customErrors>  

در حال حاضر صفحه ای که در دسترس نیست را اجرا نمایید شما یک پیغام از ErrorController ایجاد شده دریافت میکنید.

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید