...
Abrupt completion of a finally
block masks any exceptions thrown inside the associated try
and catch
blocks.
Rule | Severity | Likelihood | Remediation Cost | Priority | Level |
---|---|---|---|---|---|
ERR04-J | Low | Probable | Medium | P4 | L3 |
Automated Detection
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
CodeSonar |
| PMD.Strict-Exceptions.DoNotThrowExceptionInFinally | Do not throw exception in finally | ||||||
Coverity | 7.5 | PW.ABNORMAL_TERMINATION_ OF_FINALLY_BLOCK | Implemented | ||||||
Parasoft Jtest |
| PB.CUB.ARCF, PB.CUB.ATSF |
SonarQube |
| S1143 |
Jump statements should not occur in "finally" blocks |
Related Guidelines
Bibliography
Puzzle 36. Indecision | |
Section 8.2, "Managing Exceptions, The Vanishing Exception" | |
[JLS 2015] |
...
...