gpt4 book ai didi

asp.net - 处理 ASP.NET MVC Controller 构造函数中发生的异常

转载 作者:行者123 更新时间:2023-12-02 17:18:50 26 4
gpt4 key购买 nike

处理 Controller 构造函数内发生的异常的最佳方法是什么?

我能想到的就是使用 Application_OnError() 或在我的 ControllerFactory 中放置一个 try/catch。

这些解决方案似乎都不理想。 Application_OnError 太宽泛 - 我的网站中有一些非 MVC 内容,它们有自己的错误处理。

使用 try/catch block 似乎有点老套。

如果我提供不同的内容类型 -html/text/json/rss...我希望能够在操作方法中处理异常,而不必编写各种条件来确定什么要提供的错误消息类型。

我在这里遗漏了什么,还是其他人处理过这个问题?

最佳答案

如果在创建 Controller 时 ControllerFactory 中发生异常,则无法在操作方法中处理异常。

就我个人而言,我只会执行 try/catch,实例化一些错误处理 Controller ,然后通过它路由请求。

一个更好的问题是 - 你的 Controller 如此依赖于什么而没有得到满足,以至于在构造它们时必须抛出异常?表面上,简单地创建 Controller 不应该成为异常的巨大来源。如果是,也许您可​​以考虑延迟实例化操作方法(而不是构造函数)中的依赖项,并实现 ErrorHandlingController approach 。这会将异常“向下”推送到 Controller 本身,因此您可以采取更加以 Controller 为中心的方法来处理它们。

关于asp.net - 处理 ASP.NET MVC Controller 构造函数中发生的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2694849/

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