处理异常但在哪里?服务层或控制器?

时间:2011-09-16 15:02:14

标签: asp.net-mvc-3 architecture error-handling

我想知道你究竟在哪里处理异常?它在服务层或控制器中?

如果服务层发生错误..并且必须以某种方式向用户显示此错误..我们该如何处理?

修改

我将解释,在上下文中引入一个帐户,用户必须指定用户名和密码..如果通过AuthentificationService并且用户名和密码不匹配我必须告诉用户..我如何处理这种情况?服务层会抛出异常吗?

感谢。

1 个答案:

答案 0 :(得分:2)

这取决于例外。

对于某些例外,您只需要记录它们并继续。对于其他人,您需要告知用户有关的事情。

我最近的一个具体示例是一个依赖于某些Web服务的内部应用程序。当Web服务没有响应时,应用程序无效。

在这种情况下,抛出WebException并使用它来通知用户此时服务将无法正常工作。

在这种情况下,我在服务层处理异常,我也让它传播链,这样我就可以在控制器中对它做出反应。