SQ 8.6 Community.
Yeah, my version is old, but the Jira record ([SONARJAVA-3058] FP on S3626 with try-catch-finally - SonarSource) seems to suggest an old FP finding was fixed before that version, so perhaps this is new. Here is a screenshot in Eclipse:
It shows SonarLint correctly flagging the continue in line 19 as redundant, while also incorrectly flagging the return in line 15:
Here is the raw code:
public static void remove(int a) {
while(true) {
if (a > 5) {
try {
try {
System.out.println("d");
return;
} catch (NullPointerException ex) {
throw new Exception("4");
} catch (Error ex) {
continue;
}
} catch (Exception ex) {
a += 4;
} finally {
System.out.println("b");
}
} else {
System.out.println("a");
if (++a > 3) {
continue;
}
}
}
}