gpt4 book ai didi

asp.net-mvc - 使用操作筛选器属性的ASP.Net MVC错误处理

转载 作者:行者123 更新时间:2023-12-03 07:46:25 28 4
gpt4 key购买 nike

我正在尝试根据ScottGu的blog使用操作过滤器属性来实现错误处理

我的代码如下:

[HandleError]
[HandleError(ExceptionType = typeof(NullReferenceException), View = "CustomError")]
public class ArticlesController : Controller
{
public object OhDearACrash()
{
throw new Exception("Oh Dear");
}

public object NullRefCrash()
{
throw new NullReferenceException();
}

我遇到一个问题,当抛出异常时,我收到异常,因此我永远无法打出CustomError View

OhDearACrash:用户代码未处理异常

NullRefCrash:用户代码未处理NullReferenceException

因此,未处理的异常由Default [HandleError]拾取,后者路由到处理该错误的View/Shared/Error.aspx。

我该如何处理未处理的异常?

最佳答案

Action 过滤器被一一执行。在您的情况下,问题可能出在一般的HandleError操作过滤器在特定过滤器之前执行。

您可以通过设置操作过滤器的'Order'属性来影响执行顺序:

[HandleError(Order = 2)]
[HandleError(Order = 1, ExceptionType = typeof(NullReferenceException), View = "CustomError")]
public class ArticlesController : Controller
{
}

关于asp.net-mvc - 使用操作筛选器属性的ASP.Net MVC错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1977224/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com