假设我有一个如下的类,正如类名所示,该类不允许自动提交。
所以我的问题是,是否最好将其保留如下(空主体,也许添加一些日志记录 @WARN/ERROR 级别)或抛出 UnsupportedOperationException?
public class NoAutoCommitConnection implements java.sql.Connection {
public void setAutoCommit(boolean autoCommit) throws SQLException {
}
}
最佳答案
我实际上会选择 if(autoCommit) { throw new UnsupportedOperationException(); }
,因为它清楚地表明不支持自动提交,但不会失败 setAutoCommit(false)
来电。
不实现该方法,或者更确切地说,它的意图违反了接口(interface)的契约。
我认为在这种情况下你至少可以做的是在运行时抛出异常。
关于java - 子类抛出 UnsupportedOperationException 与忽略输入参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58566094/