| //------------------------------------------------------------------------------------------------------- | |
| // Copyright (C) Microsoft. All rights reserved. | |
| // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. | |
| //------------------------------------------------------------------------------------------------------- | |
| function echo(m) { this.WScript ? WScript.Echo(m) : console.log(m); } | |
| function oos() { | |
| oos(); | |
| } | |
| try { | |
| try { | |
| oos(); | |
| } finally { | |
| try { | |
| oos(); | |
| } catch (e) { | |
| } finally { | |
| } | |
| } | |
| // | |
| // Win8: 772949 | |
| // The inner finally cleared threadContext->OOS.thrownObject. | |
| // | |
| // In chk build, outer finally asserts. | |
| // In fre build, outer finally gets a NULL thrownObject from shared OOS and sends | |
| // NULL to catch below. e == NULL, causes AV as NULL is not a valid Var. | |
| // | |
| } catch (e) { | |
| if (e) { | |
| echo("pass"); | |
| } | |
| } |