исключение подкласса UnsupportedOperationException против игнорирования входного параметра - PullRequest
0 голосов
/ 26 октября 2019

Допустим, у меня есть класс, как показано ниже, как следует из названия класса, этот класс не разрешает автоматическую фиксацию.

Таким образом, мой вопрос заключается в том, что если лучше оставить его как показано ниже (пустое тело, возможно, добавить немного журнала @ уровень WARN / ERROR) или выбросить исключение UnsupportedOperationException?

public class NoAutoCommitConnection implements java.sql.Connection {
    public void setAutoCommit(boolean autoCommit) throws SQLException {
    }
}

1 Ответ

1 голос
/ 26 октября 2019

Я бы на самом деле пошел с if(autoCommit) { throw new UnsupportedOperationException(); }, так как он четко сообщает, что автоматическая фиксация не поддерживается, но не будет вызывать setAutoCommit(false) вызовы.

Не реализация метода или, скорее, намерение нарушает контрактинтерфейса.

Я думаю, что самое малое, что вы можете сделать в такой ситуации, это выбросить исключение во время выполнения.

...