// Copyright 2009 the Sputnik authors. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- info: | Using "try" with "catch" or "finally" statement within/without a "for" statement es5id: 12.14_A11_T4 description: Try statement inside loop, where combinate using break and continue ---*/ // CHECK#1 var c1=0,fin=0; for(var i=0;i<5;i++){ try{ c1+=1; break; } catch(er1){} finally{ fin=1; continue; } fin=-1; c1+=2; } if(fin!==1){ throw new Test262Error('#1.1: "finally" block must be evaluated'); } if(c1!==5){ throw new Test262Error('#1.2: "try{break} catch finally{continue}" must work correctly'); } // CHECK#2 var c2=0,fin2=0; for(var i=0;i<5;i++){ try{ throw "ex1"; } catch(er1){ c2+=1; break; } finally{ fin2=1; continue; } c2+=2; fin2=-1; } if(fin2!==1){ throw new Test262Error('#2.1: "finally" block must be evaluated'); } if(c2!==5){ throw new Test262Error('#2.2: "try catch{break} finally{continue}" must work correctly'); } reportCompare(0, 0);