Duplicate :
|
|
Duplicate :
|
|
Relates :
|
FULL PRODUCT VERSION : A DESCRIPTION OF THE PROBLEM : Incorrect byte code is generated if the try-block ends with a terminal node (except for throw). Combined with a throw statement in the finally block, the finally block will be executed twice. STEPS TO FOLLOW TO REPRODUCE THE PROBLEM : jjs> function f() { try { print("try"); return } finally { print("finally"); throw 0 } } f(); Expected: output is "try finally" Actual: output is "try finally finally" REPRODUCIBILITY : This bug can be reproduced always.
|