Есть ли способ убедиться, что все сгенерированные исключения во время выполнения задокументированы? - PullRequest
0 голосов
/ 30 мая 2019

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

Есть ли опция компилятора, mavenПлагин или пользовательский инструмент, который может помочь мне найти пропущенные throws предложения?С проверенными исключениями это просто, компилятор просто будет жаловаться, если я пропустил одно.

(или я вообще ошибаюсь, и не должны ли они быть документированы или вообще исключение времени выполнения)

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

Другим способом может быть фактическая проверка исключений во всем коде и преобразование их во время выполнения только вpublic api:

class Foo {
    public void publicMethod() {
        try {
            privateMethod1();
        } catch (CheckedFooException e) {
            throw new RuntimeFooException(e);
        }
    }

    private void privateMethod1() throws CheckedFooException {
        privateMethod2();
    }

    private void privateMethod2() throws CheckedFooException {
        throw new CheckedFooException();
    }
}

Это заставило бы меня думать о CheckedFooException во всех открытых методах.Затем, чтобы проверить, не пропустил ли я документацию, я просто выполнил бы поиск по catch.*CheckedFooException и проверил все предложения throws.Скорее громоздкий, хотя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...