resources.report.rules.pmd.DoNotThrowExceptionInFinally.html Maven / Gradle / Ivy
DoNotThrowExceptionInFinally
DoNotThrowExceptionInFinally
Throwing exceptions within a ‘finally’ block is confusing since they may mask other exceptions or code defects. Note: This is a PMD implementation of the Lint4j rule “A throw in a finally block”
//FinallyStatement[descendant::ThrowStatement]
Example(s):
public class Foo {
public void bar() {
try {
// Here do some stuff
} catch( Exception e) {
// Handling the issue
} finally {
// is this really a good idea ?
throw new Exception();
}
}
}