Link
在这个URL中,
请问前两步有谁能解释一下吗?
System.Web.Mvc.dll附带HandleErrorAttribute类,该类包含.. wait it it... HandleError属性。这些信息在本系列后面的文章中才重要,但HandleErrorAttribute类继承自FilterAttribute类,并实现IExceptionFilter接口-该接口需要具有以下签名的方法。
public virtual void OnException(ExceptionContext filterContext);
我需要创建接口吗?
我需要在哪里写OnExceptoin?
谢谢
1条答案
按热度按时间nwo49xxi1#
您不需要创建任何接口,也不需要担心
OnException
方法或其实现。你需要做的就是用[HandleError]
属性装饰你的控制器,像这样:然后继续在这个控制器中编写一些可能抛出异常的操作,而不是YSOD(死亡黄屏),你会看到一个你配置的自定义错误页面。您还需要在web.config中激活自定义错误:
默认情况下,
~/Views/Shared/Error.aspx
视图将在异常情况下呈现。您可以根据抛出的异常定义特定的错误视图:这意味着如果抛出
ApplicationException
,~/Views/Shared/AppErrorPage.aspx
视图将被呈现。这就是框架为您提供的开箱即用的功能。如果这还不足以满足您的需求,并且在您的特定场景中不起作用,您可能会开始担心实现自定义
IExceptionFilter
。