If In the presence of a finally clause is specified block, irrespective of whether the try or catch blocks execute to completion or not, the finally block is executed. Consequently, statements that cause the finally block to terminate abruptly may mask any thrown exceptions. Keywords like such as return, break, continue and throw should never be used within a finally block.
...
| Code Block | ||
|---|---|---|
| ||
class TryFinally {
private static boolean doLogic() {
try {
throw new IllegalStateException();
}
finally {
System.out.println("Caught Exception");
}
// any return statements must go here; applicable only when exception is thrown conditionally
}
public static void main(String[] args) {
doLogic();
}
}
|
...