During exception handling , occasionally , We hope that no matter try Whether the exception in the block is thrown , They can all be executed . This usually applies to situations other than memory recycling .
In order to achieve this effect , You can add finally Clause .
The following program proves that finally Clause always works :
class ThreeException extends Exception{}
public class FinallyWorks {
static int count = 0;
public static void main(String[] args) {
while(true) {
try {
// Post-increment is zero first time:
if(count++ == 0)
throw new ThreeException();
System.out.println("No exception");
}catch(ThreeException e) {
System.out.println("ThreeException");
}finally {
System.out.println("In finally clause");
if(count == 2)break; // out of while
}
}
}
}
Running results :
We can see in this program , Whether the exception is thrown or not ,finally Clauses can always be executed .