У меня есть кусок кода, который выглядит следующим образом:
public void test() {
Stream.of(aSet.entrySet(), anotherSet.entrySet())
.flatMap(Collection::stream)
.forEach((es) -> {
try {
//Complains on unused variable message.
Value value = es.getValue();
...use value.
} catch (IllegalArgumentException e) {
String key = es.getKey();
//Complains on unused variable message.
String message = " (#" + key + ")";
throw new IllegalArgumentException(message, e);
}
});
}
Тот факт, что этот фрагмент кода использует только переменную key в предложении catch, не тот случай, потому что я получаю эту ошибку и в других местах.
Это кажется странной вещью для сонара (sonarlint), чтобы жаловаться.
Потому что для меня это переменная, которая не должна попадать под правило Unused local variable
.
Я не прав или это действительная жалоба?