问题标签 [handleerror]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
101104 浏览

asp.net-mvc - ASP.NET MVC 处理错误

如何[HandleError]在 asp.net MVC Preview 5 中使用过滤器?
我在我的 Web.config 文件中设置了 customErrors

并将 [HandleError] 放在我的控制器类上方,如下所示:

然后我让我的控制器从这个类继承并在它们上调用 CrashTest()。Visual Studio 在错误处停止,按 f5 继续后,我被重新路由到 Error.aspx?aspxerrorpath=/sxi.mvc/CrashTest (其中 sxi 是使用的控制器的名称。当然找不到路径,我得到了“'/' 应用程序中的服务器错误。”404。

这个站点是从预览版 3 移植到 5 版的。除了错误处理之外,一切都在运行(移植的工作并不多)。当我创建一个完整的新项目时,错误处理似乎起作用了。

想法?

--注意--
由于这个问题现在有超过 3K 的浏览量,我认为把我目前正在使用的(ASP.NET MVC 1.0)放入其中会是有益的。在mvc contrib 项目中,有一个名为“RescueAttribute”的出色属性,您可能也应该检查一下;)

0 投票
2 回答
2160 浏览

asp.net-mvc - MVC Beta [HandleError] 属性(需要帮助)

我已经尝试过使用和不使用“ExceptionType”参数。我在 Views/Shared 文件夹和 Views/thisController 文件夹中都有一个 Error.aspx 页面。但是每次我运行它时,我都会收到“'/'应用程序中的服务器错误”。错误页面,而不是视图/共享中的漂亮页面。

知道这里可能出了什么问题吗?

0 投票
4 回答
5992 浏览

asp.net-mvc - ASP.Net MVC HandleError 抛出 500 内部服务器错误

我的控制器上有以下 HandleError 过滤器:

我已经设置了 Web.Config 以便开启 customErrors。我遇到的问题是 HandleError 过滤器工作正常,当我在 Visual Studio 本地运行应用程序时,但是当我将它部署到服务器时,我得到的只是 500 内部服务器错误,表明错误视图不能成立。

有没有人遇到过这个问题,我怀疑路由可能是问题的根本原因(hoho)。该站点被部署到 Web 根目录中的目录,而不是 wwwroot 本身,因此 IIS 可能无法找到错误文件。

0 投票
6 回答
7078 浏览

asp.net-mvc - 属性似乎根本没有作用

我在使用控制器操作上的 [HandleError] 属性时遇到问题 - 它似乎根本不起作用(即过滤器是否存在并不重要 - 我得到相同的结果......)。当抛出异常时,我在“/”应用程序错误页面中得到标准的红色服务器错误,而不是我的自定义视图。

我在 SO 上找到了关于这个主题的其他几个线程,在大多数情况下,似乎在 web.config 中将 customErrors 选项设置为 On 解决了这个问题。它不适合我,所以我需要找到不同的解决方案。

我的控制器动作:

在我的 web.config 文件中

我已确保 Error.aspx 文件也在 Shared 目录中。我错过了什么?

我正在运行 ASP.NET MVC RC 刷新。

0 投票
6 回答
25987 浏览

asp.net-mvc - ASP.net MVC [HandleError] 未捕获异常

在两个不同的应用程序中,一个是自定义的,另一个是您使用新的 VS2008 MVC 项目获得的示例 MVC 应用程序,[HandleError] 没有捕获异常。

在示例应用程序中,我有:

这只是默认控制器,但会抛出异常以进行测试。

但它不起作用。它不会转到默认的 error.aspx 页面,而是在浏览器中显示调试信息。

该问题首先出现在我正在处理的自定义应用程序中,这导致我使用示例应用程序对其进行测试。考虑到这与我在自定义应用程序中所做的更改有关,我完全没有改变示例应用程序,只在 index 方法中抛出异常(糟糕)。

我难住了。我错过了什么?

0 投票
7 回答
14158 浏览

asp.net-mvc - ASP.NET MVC HandleError 不起作用(customErrors 设置为“开”)

我相信我已经设置了我们的 MVC 应用程序以[HandleError]正确使用。这是我的控制器:

已将customErrors标签设置web.config为“开”:

但是,我仍然在异常情况下获得黄屏死机。在我的操作中设置断点Toss()表明HttpContext.IsCustomErrorEnabled 设置为 true。

我们没有对 View Engine 做任何事情,BaseController也没有弄乱任何东西(其他不扩展它的控制器也有同样的问题)。

我在 Windows XP 上开发,当应用程序部署到服务器 2003 框(IIS 6)时遇到同样的问题。

我认为页面上没有异常error.aspx

可能不同的是,这个应用程序是在 MVC Beta 是最新版本时创建的,并在发布时升级到 RC 和 RTM。可能有一些古怪的设置是从那里遗留下来的?

我可以在其他应用程序上使用它,所以我有点困惑。

0 投票
1 回答
840 浏览

asp.net - ASP.NET MVC 错误处理 - 视图从不呈现,Web.config 问题?

我在我的一个控制器上指定了一个 [HandleError] 属性,指定了一个我想在发生错误时呈现的视图。

我的 web.config 中还有以下配置部分:

无论发生什么,mvc 都会在 customErrors 部分呈现视图。由于某种原因,我无法覆盖视图。

此外,在视图呈现时,我已经丢失了所有上下文信息。

不知道我做错了什么,或者其他人是否遇到过这个问题。

ps:我还确认了我试图重定向的视图没有任何错误。很郁闷的问题!

0 投票
4 回答
14635 浏览

asp.net-mvc - ASP.NET MVC 用户友好的 401 错误

我已经在 ASP.NET MVC 站点中实现了错误处理,就像这篇文章所建议的那样

404错误一切正常。但是如何正确显示401 错误的用户友好屏幕?它们通常不会抛出可以在内部处理的异常,Application_Error()而是操作返回 HttpUnauthorizedResult。一种可能的方法是将以下代码添加到Application_EndRequest()方法的末尾

但是在Application_EndRequest()Context.Session == null 内部,errorController.Execute()由于无法使用默认的 TempDataProvider 而失败。

那么,您能否建议一些如何在 ASP.NET MVC 应用程序中“用户友好地处理”401 的最佳实践?

谢谢。

0 投票
2 回答
8253 浏览

asp.net-mvc - 如何将 ViewData 传递给 HandleError 视图?

在我的 Site.Master 文件中,我有 3 个简单的 ViewData 参数(整个解决方案中只有 3 个)。这些 ViewData 值对于我的应用程序中的每个页面都至关重要。由于在我的 Site.Master 中使用了这些值,因此我创建了一个抽象的 SiteController 类,它覆盖 OnActionExecuting 方法来为我的解决方案中每个控制器上的每个 Action 方法填充这些值。

我面临的问题是,当 HandleErrorAttribute 从 SiteController 类级别属性启动时,这些值没有传递给 MyErrorView(最终是 Site.Master)。这是一个简单的场景来显示我的问题:

我也尝试通过覆盖 SiteController 中的 OnException() 方法来填充 ViewData 参数,但无济于事。:(

在这种情况下,将 ViewData 参数传递给我的 Site.Master 的最佳方法是什么?

0 投票
1 回答
519 浏览

c# - ASP.NET MVC HandleError 和具有其他属性的操作顺序

我正在尝试使 HandleError 属性起作用,但由于某种特殊情况,我遇到了一些困难。

我有另一个属性可以检查我的数据库中的 IP 黑名单,并且确实会引发异常。我希望使用 HandleError 属性捕获该异常并路由到错误页面,但它不起作用。

我认为操作顺序可能是我需要的,但它似乎也不起作用......我试过了:

和:

似乎都没有发现异常。如果有人有任何建议,我将不胜感激,在此先感谢!