| //------------------------------------------------------------------------------------------------------- | |
| // Copyright (C) Microsoft. All rights reserved. | |
| // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. | |
| //------------------------------------------------------------------------------------------------------- | |
| function foo() { | |
| try { | |
| throw "foo error"; | |
| } catch (e) { | |
| var e = 10; | |
| WScript.Echo("Caught e=" + e); | |
| } | |
| } | |
| function foo2() { | |
| var e; | |
| WScript.Echo("On entry: e=" + e); | |
| try { | |
| throw "foo error"; | |
| } catch (e) { | |
| var e = 10; | |
| WScript.Echo("Caught e=" + e); | |
| } | |
| WScript.Echo("On exit: e=" + e); | |
| } | |
| function foo3() { | |
| var e; | |
| WScript.Echo("On entry: e=" + e); | |
| try { | |
| throw "foo error"; | |
| } catch (e) { | |
| function err(e) { | |
| var e = 10; | |
| WScript.Echo("Caught e=" + e); | |
| } | |
| err(e); | |
| } | |
| WScript.Echo("On exit: e=" + e); | |
| } | |
| function foo4() { | |
| var e; | |
| WScript.Echo("On entry: e=" + e); | |
| try { | |
| throw "foo error"; | |
| } catch (e) { | |
| var e = 10; | |
| { | |
| var e = 20; | |
| WScript.Echo("Caught e=" + e); | |
| } | |
| WScript.Echo("Caught e=" + e); | |
| } | |
| WScript.Echo("On exit: e=" + e); | |
| } | |
| WScript.Echo("foo():"); | |
| foo(); | |
| WScript.Echo(""); | |
| WScript.Echo("foo2():"); | |
| foo2(); | |
| WScript.Echo(""); | |
| WScript.Echo("foo3():"); | |
| foo3(); | |
| WScript.Echo(""); | |
| WScript.Echo("foo4():"); | |
| foo4(); | |
| WScript.Echo(""); | |
| WScript.Echo("PASSED"); |