我有一个方法用于在数据库中保存联系表单,如下所示,如果出现问题,它会抛出一个异常,该异常将被发送回此方法的调用者。
我不确定我正在做的事情是否是向此方法的调用者保证一切顺利的最佳方法。
public boolean saveContact(Contact contact)throws HibernateException{
currentSession().save(contact);
return true;
}
最佳答案
不要将 boolean 标志与异常一起使用!问问自己,调用者是否可以期望 true
之外的其他内容。答案是否定的,因为在任何其他情况下都会抛出异常。所以你总是会返回true。这没有提供任何有用的信息。更糟糕的是,它可能会导致非常困惑的情况,您返回 false 但没有抛出异常(这在您的示例中不会发生,因为您的示例非常简单,但我只想详细说明一些情况) 。
另请注意,Hibernate 本身不会通过其 currentSession().save(...)
方法返回任何内容!我强烈建议遵循这种模式!
还要注意,方法返回的各种 boolean 标志、错误代码或状态与抛出异常相反。您不应该混合其中两个概念(在某些情况下不要抛出异常,而在其他情况下则返回 boolean 标志)!
关于java - 如何向调用者方法发送成功消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32816860/