18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* The contents of this file are subject to the Netscape Public 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* License Version 1.1 (the "License"); you may not use this file 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* except in compliance with the License. You may obtain a copy of 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* the License at http://www.mozilla.org/NPL/ 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Software distributed under the License is distributed on an "AS 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* implied. See the License for the specific language governing 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* rights and limitations under the License. 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* The Original Code is mozilla.org code. 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* The Initial Developer of the Original Code is Netscape 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Communications Corporation. Portions created by Netscape are 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Copyright (C) 1998 Netscape Communications Corporation. All 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Rights Reserved. 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Contributor(s): pschwartau@netscape.com 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*This test arose from Bugzilla bug 58946. 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*The bug was filed when we got the following error (see code below): 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* "ReferenceError: e is not defined" 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*There was no error if we replaced "return e" in the code below with "print(e)". 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*There should be no error with "return e", either - 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//------------------------------------------------------------------------------------------------- 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar bug = '58946'; 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar stat = 'Testing a return statement inside a catch statement inside a function'; 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttest(); 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfunction test() { 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project enterFunc ("test"); 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project printBugNumber (bug); 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project printStatus (stat); 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project try 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project { 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project throw 'PASS'; 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project catch(e) 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project { 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return e; 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } 538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project exitFunc ("test"); 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}