|
1 // Copyright 2009 the Sputnik authors. All rights reserved. |
|
2 // This code is governed by the BSD license found in the LICENSE file. |
|
3 |
|
4 /** |
|
5 * When the [[Call]] property for a Function object F is called, the following steps are taken: |
|
6 * 2. Evaluate F's FunctionBody; |
|
7 * if Result.type is thrown then Result.value is thrown too |
|
8 * |
|
9 * @path ch13/13.2/S13.2.1_A8_T1.js |
|
10 * @description Throwing an exception within a function body. Declaring function with "function __func()" |
|
11 */ |
|
12 |
|
13 function __func(){ |
|
14 var x = 1; |
|
15 throw ("Catch Me If You Can") |
|
16 return x; |
|
17 } |
|
18 |
|
19 try{ |
|
20 var x=__func() |
|
21 $ERROR('#0: var x=__func() lead to throwing exception'); |
|
22 } catch(e){ |
|
23 if (e !== "Catch Me If You Can") { |
|
24 $ERROR('#1: Exception === "Catch Me If You Can". Actual: exception ==='+e); |
|
25 } |
|
26 } |
|
27 |