michael@0: // Copyright 2009 the Sputnik authors. All rights reserved. michael@0: // This code is governed by the BSD license found in the LICENSE file. michael@0: michael@0: /** michael@0: * Catching objects with try/catch/finally statement michael@0: * michael@0: * @path ch12/12.14/S12.14_A18_T7.js michael@0: * @description Catching Array michael@0: */ michael@0: michael@0: var mycars = new Array(); michael@0: mycars[0] = "Saab"; michael@0: mycars[1] = "Volvo"; michael@0: mycars[2] = "BMW"; michael@0: michael@0: var mycars2 = new Array(); michael@0: mycars2[0] = "Mercedes"; michael@0: mycars2[1] = "Jeep"; michael@0: mycars2[2] = "Suzuki"; michael@0: michael@0: // CHECK#1 michael@0: try{ michael@0: throw mycars; michael@0: } michael@0: catch(e){ michael@0: for (var i=0;i<3;i++){ michael@0: if (e[i]!==mycars[i]) $ERROR('#1.'+i+': Exception['+i+']===mycars['+i+']. Actual: Exception['+i+']==='+ e[i] ); michael@0: } michael@0: } michael@0: michael@0: // CHECK#2 michael@0: try{ michael@0: throw mycars.concat(mycars2); michael@0: } michael@0: catch(e){ michael@0: for (var i=0;i<3;i++){ michael@0: if (e[i]!==mycars[i]) $ERROR('#2.'+i+': Exception['+i+']===mycars['+i+']. Actual: Exception['+i+']==='+ e[i] ); michael@0: } michael@0: for (var i=3;i<6;i++){ michael@0: if (e[i]!==mycars2[i-3]) $ERROR('#2.'+i+': Exception['+i+']===mycars2['+i+']. Actual: Exception['+i+']==='+ e[i] ); michael@0: } michael@0: } michael@0: michael@0: // CHECK#3 michael@0: try{ michael@0: throw new Array("Mercedes","Jeep","Suzuki"); michael@0: } michael@0: catch(e){ michael@0: for (var i=0;i<3;i++){ michael@0: if (e[i]!==mycars2[i]) $ERROR('#3.'+i+': Exception['+i+']===mycars2['+i+']. Actual: Exception['+i+']==='+ e[i]); michael@0: } michael@0: } michael@0: michael@0: // CHECK#4 michael@0: try{ michael@0: throw mycars.concat(new Array("Mercedes","Jeep","Suzuki")); michael@0: } michael@0: catch(e){ michael@0: for (var i=0;i<3;i++){ michael@0: if (e[i]!==mycars[i]) $ERROR('#4.'+i+': Exception['+i+']===mycars['+i+']. Actual: Exception['+i+']==='+ e[i] ); michael@0: } michael@0: for (var i=3;i<6;i++){ michael@0: if (e[i]!==mycars2[i-3]) $ERROR('#4.'+i+': Exception['+i+']===mycars2['+(i-3)+']. Actual: Exception['+i+']==='+ e[i]); michael@0: } michael@0: } michael@0: