Return Inside Finally Block

Last revision (mm/dd/yy): //

Vulnerabilities Table of Contents

Description
Returning from inside a finally block will cause exceptions to be lost.

A return statement inside a finally block will cause any exception that might be thrown in the try block to be discarded.

Risk Factors
TBD

Examples
In the following code excerpt, the IllegalArgumentException will never be delivered to the caller. The finally block will cause the exception to be discarded.

try { ...	 throw IllegalArgumentException; }	finally { return r;	}

Related Attacks

 * Attack 1
 * Attack 2

Related Vulnerabilities

 * Vulnerability 1
 * Vulnerabiltiy 2

Related Controls

 * Error Handling

Related Technical Impacts

 * Technical Impact 1
 * Technical Impact 2