Find jump statements that leave a finally block

Proprietary

Marks a return, break or continue in a finally block whose target lies outside that block. Leaving a finally this way discards any exception the try or catch was propagating, so the caller sees a normal completion instead of the failure. A break or continue that stays inside a loop, a switch or a label declared in the finally is not marked, and neither is a jump inside a lambda, a local class or an anonymous class the finally only declares. A throw in a finally is left to FindThrowInFinally.

io.moderne.staticanalysis.FindJumpOutOfFinally
mod run . --recipe=io.moderne.staticanalysis.FindJumpOutOfFinally

Install it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.