| //------------------------------------------------------------------------------------------------------- |
| // 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"); |