gpt4 book ai didi

asp.net-mvc - [HandleError] 相对于 Application_Error 的优势

转载 作者:行者123 更新时间:2023-12-04 11:28:16 27 4
gpt4 key购买 nike

我知道 中有很多问题SO 关于 ASP.NET MVC 中的错误处理 .

我明白,大多数人都试图通过三种方式实现目标:

  • 创建一个 BaseController并覆盖 OnException方法
  • 使用 [HandleError]或自定义异常过滤器。
  • Application_Error global.asax.cs 中的事件

  • 前两种方法不能处理所有异常,它们只能处理由操作方法/过滤器引发的异常,因此显然第三种方法将成为全局异常处理程序的最佳方法。

    我的问题是为什么我应该去 [HandleError]方法?给我带来什么好处我也打不通 Application_Error ?

    最后,我要不要拿 customErrors MVC 应用程序中的部分严重吗?

    注意:我的要求是平常的。每当发生异常时,记录它并返回自定义错误页面。自定义错误页面可能会根据状态代码而改变。

    最佳答案

    最明显的是[HandleError]允许您在不同的 Controller 和 Action 中以不同的方式处理错误。它比 Application_Error 中的某种 switch 语句要优雅得多。处理程序。

    另一个好处是[HandleError]仍然可以访问 Controller 及其附带的所有 MVC 优点,因此您仍然可以返回 View或调用另一个操作。一旦你闹翻 Application_Error ,你输了ControllerContext除了重定向之外,你真的没有其他选择。

    关于asp.net-mvc - [HandleError] 相对于 Application_Error 的优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10354833/

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