这是从控制器抛出异常的好习惯

时间:2013-08-24 12:08:54

标签: servlets model-view-controller exception-handling httprequest

从控制器中抛出异常是一个好习惯吗?

例如,如果Request没有某个属性,我们可能会从某个控制器的方法抛出 IllegalStateException

例如,如果Request的参数不在适当的格式/范围内,我们可能会从某个控制器的方法抛出 IllegalArgumentException

2 个答案:

答案 0 :(得分:0)

不,我不这么认为。谁来处理它?客户端。处理它意味着什么?例外不会告诉他们该怎么做。最好更改UI以指示他们接下来做什么。您可以在所使用的每个体面的Web UI中看到这一点:文本框突出显示,并告诉您适当的范围是什么。看到堆栈跟踪会有什么样的体验?

因此控制器应该捕获所有异常并相应地更改显示。

答案 1 :(得分:0)

我认为将此类异常抛给最终用户并不是一个好主意。相反,您可以提醒最终用户一个有意义的错误消息,使用该消息可以很容易地理解错误。