如何在MVC架构中处理异常?

时间:2013-06-05 04:16:19

标签: exception design-patterns model-view-controller exception-handling

MVC架构中处理异常的位置在哪里?

说,我正在使用AJAX上传文件,并发生异常。它在哪里处理?这是什么最好的做法?它应该在控制器中吗?那么,当异常发生时,视图可以显示警告?

2 个答案:

答案 0 :(得分:1)

Controller (正如其名称所示)控制应用程序(或应用程序的特定部分)的执行。由于处理任何类型的I / O,因此它似乎是添加任何类型的异常处理逻辑的最佳位置。

此外,正如您自己意识到的那样,您可以使用一个返回Error的泛型方法 - 在抛出异常时键入View,或者甚至在需要时重试操作几次。 View和IMO都不应该关注任何异常处理逻辑。

答案 1 :(得分:0)

不了解ajax,但控制器中应该有异常。所有听众,try / catch和这样的处理程序应始终在控制器中,通过设计和消除过程。即使您的视图抛出错误,控制器也应该处理它们。