Asp.net mvc 当MVC中有异常过滤器时,MVC应用程序真的需要try-catch块吗?
我们有用于错误处理的try-catch块,但对于MVC,我们有异常过滤器。在这种情况下,我们可以在过滤器级别处理错误。i、 e.使用异常过滤器Asp.net mvc 当MVC中有异常过滤器时,MVC应用程序真的需要try-catch块吗?,asp.net-mvc,exception-handling,Asp.net Mvc,Exception Handling,我们有用于错误处理的try-catch块,但对于MVC,我们有异常过滤器。在这种情况下,我们可以在过滤器级别处理错误。i、 e.使用异常过滤器 因此,确实需要再次在方法级别编写try-catch块?MVC具有异常过滤器,以便显示错误页面,而不是允许异常冒泡到IIS(即使整个应用程序崩溃),在IIS中,您将获得简单(且丑陋)的一般错误页面 然而,这种想法是,未捕获的异常实际上应该是罕见的。在大多数情况下,您实际上并不想返回500错误页面,即使它是一个“漂亮”的错误页面。捕获代码中的异常允许您进行防
因此,确实需要再次在方法级别编写try-catch块?MVC具有异常过滤器,以便显示错误页面,而不是允许异常冒泡到IIS(即使整个应用程序崩溃),在IIS中,您将获得简单(且丑陋)的一般错误页面 然而,这种想法是,未捕获的异常实际上应该是罕见的。在大多数情况下,您实际上并不想返回500错误页面,即使它是一个“漂亮”的错误页面。捕获代码中的异常允许您进行防御性编码。换句话说,您可以尝试处理这些异常并从中恢复,这样您的站点仍能正常工作,最坏的情况是,您会向用户提供有关如何避免错误的具体指导信息
长和短,是的,仍然重要的是使用试抓块,我认为甚至是至关重要的。除非您明确表示要返回500错误(在某些情况下,特别是在API中,这可能是可取的),否则您应该自己捕获并处理每个异常。验证过滤器是mvc的一部分。try/catch是语言的一部分。。。