Возможно ли в IntelliJ найти (возможно) избыточные блоки try ... catch? - PullRequest
1 голос
/ 12 марта 2019

Вот мой вариант использования - у меня есть код в этом стиле

try {
    someMethod();
} catch (Exception e) {
    LOGGER.error("exception occurred", e);
   //potentially more code
}

, и определение этого метода просто

public void someMethod() {
   //do something that doesn't throw an exception
}

Я хотел бы найти все try...catch блоков, которые перехватывают класс Exception верхнего уровня, и код переноса, который явно не вызывает никаких исключений.Это возможно в IntelliJ IDEA?

Чтобы прояснить, я знаю о проверке Избыточные «броски» осмотр - это уборка после нее.

Мне также известно о Catchблок может игнорировать проверку исключений - это не относится к описанному мной случаю, поскольку исключения используются в коде .Проблема в том, что код на самом деле не выдает исключение.Итак, в теории может перехватить NullPointerException или другое неконтролируемое исключение, но я бы дополнительно проанализировал, действительно ли это полезно или нет.Моя цель - удалить весь ненужный код обработки исключений.

1 Ответ

3 голосов
/ 12 марта 2019

Вы можете получить доступ к этому предупреждению через меню Инспекции , а затем выполнить поиск Overly broad catch block:

enter image description here

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

enter image description here

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