blob: 76057afc9887ed860d0d4741d55f94c6ccfc4fcf [file] [log] [blame]
//-------------------------------------------------------------------------------------------------------
// 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");