forked from chakra-core/ChakraCore
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSimpleThrow.js
More file actions
90 lines (79 loc) · 1.59 KB
/
SimpleThrow.js
File metadata and controls
90 lines (79 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
function Dump(output)
{
if (this.WScript)
{
WScript.Echo(output);
}
else
{
alert(output);
}
}
function throwException()
{
try
{
BadType.someProperty = 0;
}
catch(e)
{
Dump(TrimStackTracePath(e.stack));
Dump("");
}
}
function throwExceptionWithFinally()
{
try
{
BadTypeWithFinally.someProperty = 0;
}
catch(e)
{
Dump(TrimStackTracePath(e.stack));
Dump("");
}
finally {} // Do nothing
}
function throwExceptionLineNumber()
{
try
{
StricModeFunction();
}
catch(e)
{
Dump(TrimStackTracePath(e.stack));
}
}
function StricModeFunction()
{
"use strict"
this.nonExistentProperty = 1;
if(1) {}
WScript.Echo("foo");
}
function bar()
{
throwException();
throwExceptionWithFinally();
throwExceptionLineNumber();
}
function foo()
{
bar();
}
function runtest()
{
foo();
}
if (this.WScript && this.WScript.Arguments && this.WScript.LoadScriptFile("TrimStackTracePath.js"))
{
if (this.WScript.Arguments[0] == "runTest")
{
runtest();
}
}