exception-handling - 在 HandleErrorAttribute 中重定向不起作用
问题描述
如果出现特定异常,我想重定向用户。
为此,我编写了自定义异常过滤器,它可以工作,这意味着如果我放置一个断点,它会正确通过它,但我无法覆盖异常的正常行为并将用户移动到自定义页面。
异常模拟:
public ActionResult Index()
{
//test exception throw
throw new ArgumentNullException();
return View();
}
过滤器重定向:
public class CustomExceptionHandlerAttribute : HandleErrorAttribute
{
public override void OnException(ExceptionContext filterContext)
{
if (filterContext.Exception is ArgumentNullException)
//breakpoint here work as expected
filterContext.Result = new RedirectToRouteResult(
new RouteValueDictionary(new { controller = "Home", action = "About" })
);
else
base.OnException(filterContext);
}
}
浏览器中的结果(也没有调试):
“/”应用程序中的服务器错误。
值不能为 null 或空。
解决方案
推荐阅读
- tensorflow - 在简单的 colab 教程中使用 ELMo 交换 gnews
- java - 如何在邮递员中显示异常消息?
- java - 使用Camel和Springboot,interceptSendToEndpoint不拦截Route中的http请求
- c# - 插入多对多关系
- c# - Substring 会创建另一个实例 C# 吗?
- c# - ASP.NET MVC:在同一行对齐复选框和标签
- javascript - 合并两个具有相同键名的对象并进行计算
- angular - 自定义角度材质
- java - 如何在向 IDP 发送身份验证请求时将当前 URL 作为中继状态发送
- android - android 致命异常:打开 DatePickerDialog 时出现 java.lang.NullPointerException