1/*
2* The contents of this file are subject to the Netscape Public
3* License Version 1.1 (the "License"); you may not use this file
4* except in compliance with the License. You may obtain a copy of
5* the License at http://www.mozilla.org/NPL/
6*
7* Software distributed under the License is distributed on an "AS
8* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
9* implied. See the License for the specific language governing
10* rights and limitations under the License.
11*
12* The Original Code is mozilla.org code.
13*
14* The Initial Developer of the Original Code is Netscape
15* Communications Corporation.  Portions created by Netscape are
16* Copyright (C) 1998 Netscape Communications Corporation. All
17* Rights Reserved.
18*
19* Contributor(s): pschwartau@netscape.com
20*
21*
22*This test arose from Bugzilla bug 58946.
23*The bug was filed when we got the following error (see code below):
24*
25*                          "ReferenceError: e is not defined"
26*
27*There was no error if we replaced "return e" in the code below with "print(e)".
28*There should be no error with "return e", either  -
29*/
30//-------------------------------------------------------------------------------------------------
31var bug = '58946';
32var stat =  'Testing a return statement inside a catch statement inside a function';
33
34
35test();
36
37
38function test() {
39  enterFunc ("test");
40  printBugNumber (bug);
41  printStatus (stat);
42
43
44  try
45  {
46    throw 'PASS';
47   }
48
49  catch(e)
50  {
51     return e;
52  }
53
54
55  exitFunc ("test");
56}