java – 未调用先决条件方法时抛出什么异常?
|
我有一个方法getUser,它从数据库中检索用户.该方法要求您验证用户是否确实存在(通过userExists(String username)方法. 如果调用了getUser方法并且用户不存在,我想抛出一个未经检查的异常,但是哪个异常最合适呢?我想到了IllegalArgumentException,但它感觉不完全正确,因为在某些情况下某些输入可能没问题,但在其他情况下则不然 – 它们并非严格“非法”.有什么建议? 解决方法对我来说IllegalArgumentException意味着该论点是非法的,并且总是非法的.我将使用的异常是IllegalStateException来说明检查用户无效的对象的状态.但是,您可能有一个特定的例外,您可以创建自己的例外. public class UsernameNotCheckedException extends IllegalStateException {
public UsernameNotCheckedException(String message) {
super(message);
}
}
这可以使调试更容易. NumberFormatException是IllegalArgumentException的子类.如果您尝试解析数字12QW4,它将为您提供NumberFormatException,并且您无法做任何事情以使其稍后成为有效参数.即它与任何事物的状态无关. IllegalStateException的Javadoc状态.
(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
