在日常开发中,我们会去捕捉很多的异常,来进行处理,通常我们的方法就是,在需要进行异常处理的地方加上 try catch 块,但是,如果需要异常处理的地方很多,那么,就会频繁的去写try catch 块,对于我们天生‘懒惰' 的程序员来说,总想找一个捷径。于是,就会有全局异常处理,那么,今天,我们就来看看在MVC中怎么进行全局异常处理的。
一、MVC框架自己的全局异常处理
在MVC中,框架已经给我们一共了一套全局异常处理的特性类HandleErrorAttribute类。我们可以在MVC中的App_Start文件夹中的FilterConfig.cs文件中找到这么一行代码
public static voID RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new HandleErrorAttribute()); }
这个就是实例化一个HandleErrorAttribute类,放到过滤器中。然后我们的VIEws>Shared文件夹中有一个Error.csHTML的页面,其中,该页面里的Model的类型为System.Web.Mvc.HandleErrorInfo,这个是MVC框架已经给我写好了的,我们可以直接拿来用。
在Error.csHTML页面中,我们可以做进一步处理,来显示错误信息,根据需求来展示错误信息。这些错误信息都会在System.Web.Mvc.HandleErrorInfo类中的某些属性中找到的。
例如:一下是Error.csHTML。
我们在Control中,故意写一个异常出来:
public class HomeController : Controller { public ActionResult Index() { string i = "12a"; int j = Convert.ToInt32(i); return VIEw(); } }
运行一下,我们来看一下结果。
总结以上是内存溢出为你收集整理的有关MVC异常情况的相关处理全部内容,希望文章能够帮你解决有关MVC异常情况的相关处理所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)