结构: Simple
Abstraction: Base
状态: Draft
被利用可能性: unkown
The code has a return statement inside a finally block, which will cause any thrown exception in the try block to be discarded.
范围 | 影响 | 注释 |
---|---|---|
Other | Alter Execution Logic |
策略:
Do not use a return statement inside the finally block. The finally block should have "cleanup" code.
In the following code excerpt, the IllegalArgumentException will never be delivered to the caller. The finally block will cause the exception to be discarded.
bad Java
映射的分类名 | ImNode ID | Fit | Mapped Node Name |
---|---|---|---|
The CERT Oracle Secure Coding Standard for Java (2011) | ERR04-J | Do not complete abruptly from a finally block | |
The CERT Oracle Secure Coding Standard for Java (2011) | ERR05-J | Do not let checked exceptions escape from a finally block | |
Software Fault Patterns | SFP6 | Incorrect Exception Behavior |