| //------------------------------------------------------------------------------------------------------- | |
| // Copyright (C) Microsoft. All rights reserved. | |
| // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. | |
| //------------------------------------------------------------------------------------------------------- | |
| // basic try/catch testcases, including functions | |
| function print(x) | |
| { | |
| WScript.Echo(x); | |
| } | |
| function f(n, str) | |
| { | |
| try | |
| { | |
| if(n == 0) | |
| throw str; | |
| else | |
| f(n-1, str); | |
| } | |
| finally | |
| { | |
| print("f(" + n + "): " + str); | |
| } | |
| } | |
| try | |
| { | |
| f(10, "test 1"); | |
| } | |
| catch(a) | |
| { | |
| print(a); | |
| } | |
| try { | |
| throw "Hello"; | |
| } | |
| catch (e) | |
| { | |
| with({}) { print(e); } | |
| } | |
| var d = {toISOString:1,toJSON:Date.prototype.toJSON}; | |
| try { | |
| d.toJSON() | |
| } | |
| catch(e) | |
| { | |
| with({}) | |
| { | |
| print(e); | |
| } | |
| } | |
| var a = "global"; | |
| try | |
| { | |
| throw "abc"; | |
| } | |
| catch(e) | |
| { | |
| eval("var a = 'catch-local';") | |
| } | |
| print(a); | |