加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – MVC HandleError过滤器没有捕获异常

发布时间:2020-12-15 22:33:11 所属栏目:asp.Net 来源:网络整理
导读:我有一个MVC 3网络应用程序,我正在使用“ HandleError”动作过滤器进行异常处理.我的这个动作过滤器实现如下: [HandleError]public class BaseController : Controller {...} 这是我的所有控制器派生的基类.在我的web.config中我和我的共享文件夹中有一个Er
我有一个MVC 3网络应用程序,我正在使用“ HandleError”动作过滤器进行异常处理.我的这个动作过滤器实现如下:
[HandleError]
public class BaseController : Controller {...}

这是我的所有控制器派生的基类.在我的web.config中我和我的共享文件夹中有一个Error.cshtml(.cshtml因为我使用Razor).一切都工作正常,我得到一个很好的异常处理(由我的功能格式化)

最近,不知怎的,我得到了“未处理的异常(YSOD)”,由于“customErrors”,我得到了默认的ASP.Net错误消息,该消息没有任何关于实际异常的信息.这发生在一个AJAX帖子中.但是,我无法重现它.

是否有任何类型的错误可以逃避此动作过滤器?

解决方法

Is it possible for any sort of errors to escape this action filter?

HandleError过滤器不会捕获应用程序中触发的所有异常.它可以捕获在动作内部触发的异常,动作过滤器……只需在MVC上下文中.此外,它不会捕获状态代码不是500的HTTP异常.仅依赖于MVC应用程序中的HandleError过滤器是一个坏主意.

您仍然应该依赖Application_Error事件来执行一些日志记录和customErrors部分,以显示HandleError未捕获的异常的自定义错误页面.

我写了一篇关于这个主题的博客post可能会对你有帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读