MVC架构中处理异常的位置在哪里?
说,我正在使用AJAX上传文件,并发生异常。它在哪里处理?这是什么最好的做法?它应该在控制器中吗?那么,当异常发生时,视图可以显示警告?
答案 0 :(得分:1)
Controller (正如其名称所示)控制应用程序(或应用程序的特定部分)的执行。由于应处理任何类型的I / O,因此它似乎是添加任何类型的异常处理逻辑的最佳位置。
此外,正如您自己意识到的那样,您可以使用一个返回Error
的泛型方法 - 在抛出异常时键入View,或者甚至在需要时重试操作几次。 View和IMO都不应该关注任何异常处理逻辑。
答案 1 :(得分:0)
不了解ajax,但控制器中应该有异常。所有听众,try / catch和这样的处理程序应始终在控制器中,通过设计和消除过程。即使您的视图抛出错误,控制器也应该处理它们。