Inspectopedia Help

'finally' block which can not complete normally

Reports return, throw, break, continue, and yield statements that are used inside finally blocks. These cause the finally block to not complete normally but to complete abruptly. Any exceptions thrown from the try and catch blocks of the same try-catch statement will be suppressed.

Example:

void x() { try { throw new RuntimeException(); } finally { // if bar() returns true, the RuntimeException will be suppressed if (bar()) return; } }

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023