Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 当MVC中有异常过滤器时,MVC应用程序真的需要try-catch块吗?_Asp.net Mvc_Exception Handling - Fatal编程技术网

Asp.net mvc 当MVC中有异常过滤器时,MVC应用程序真的需要try-catch块吗?

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,我们有异常过滤器。在这种情况下,我们可以在过滤器级别处理错误。i、 e.使用异常过滤器


因此,确实需要再次在方法级别编写try-catch块?

MVC具有异常过滤器,以便显示错误页面,而不是允许异常冒泡到IIS(即使整个应用程序崩溃),在IIS中,您将获得简单(且丑陋)的一般错误页面

然而,这种想法是,未捕获的异常实际上应该是罕见的。在大多数情况下,您实际上并不想返回500错误页面,即使它是一个“漂亮”的错误页面。捕获代码中的异常允许您进行防御性编码。换句话说,您可以尝试处理这些异常并从中恢复,这样您的站点仍能正常工作,最坏的情况是,您会向用户提供有关如何避免错误的具体指导信息


长和短,是的,仍然重要的是使用试抓块,我认为甚至是至关重要的。除非您明确表示要返回500错误(在某些情况下,特别是在API中,这可能是可取的),否则您应该自己捕获并处理每个异常。

验证过滤器是mvc的一部分。try/catch是语言的一部分。。。