【发布时间】:2015-08-18 22:41:46
【问题描述】:
我有一个执行插入数据库的操作/方法。它需要几个字段,并且由于各种原因,操作可能会失败,因为一个或多个输入不是唯一的,或者因为它们与一些需要唯一的内部记录冲突。
saveUserInfo(primaryToken,secondaryToken,userid);
在每次违规时抛出一个检查异常对我来说有意义吗?
我的想法是使用以下内容:
saveUserInfo(String primaryToken, String secondaryToken, String id)
throws PrimaryTokenTakenException,SecondaryTokenTakenException
通过将网络用户路由到请求新令牌的页面来强制调用此方法的任何开发人员处理它。
反对 这种方法的反对者指出,我们开发团队知道会导致此方法失败的每种错误情况,而是应该返回错误代码并使用它来处理每种情况。
int errorCode = saveUserInfo(primaryToken,secondaryToken,userid);
我认为检查方法没有任何明显的缺点。这些错误情况很可能发生,您绝对必须在使用 saveUserInfo() 的任何地方解决它们。似乎正是为这种情况创建了检查异常。
【问题讨论】:
-
预期的异常不是很异常吗?
-
@JarrodRoberson 我会将您投反对票且极具建设性的文章视为运行时例外。
标签: java exception-handling checked-exceptions