forked from stacktracejs/stacktrace.js
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathExceptionLab.html
More file actions
89 lines (81 loc) · 2.22 KB
/
ExceptionLab.html
File metadata and controls
89 lines (81 loc) · 2.22 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
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Exception Lab</title>
<style>
#info {
height: 25em;
width: 100%;
}
</style>
<script src="../../stacktrace.js"></script>
<script src="ExceptionLab.js"></script>
<script>
var lastException;
function dumpStacktrace(guess) {
var trace = printStackTrace({
e: lastException,
guess: guess
});
var text = trace.join("\n\n");
document.getElementById("info").innerHTML = text;
}
function dumpException(ex) {
ex = ex || new Error("Default error");
var text = "{\n " + getExceptionProps(ex).join(",\n ") + "\n}";
document.getElementById("info").innerHTML = text;
lastException = ex;
}
function dumpException1() {
dumpException();
}
function dumpException2() {
try {
undef();
} catch (ex) {
dumpException(ex);
}
}
function dumpException3() {
dumpException((function(x) {
try {
x.undef();
} catch (ex) {
return ex;
}
})(null));
}
function createException4() {
return createException();
}
function dumpException4() {
dumpException(createException4());
}
function dumpException5() {
try {
//eval("x.undef()");
eval("getExceptionProps()");
} catch (ex) {
dumpException(ex);
}
}
</script>
</head>
<body>
<span id="userAgent">userAgent</span>
<script>
document.getElementById("userAgent").innerHTML = navigator.userAgent;
</script>
<textarea id="info">Info</textarea>
<br/>
<button onclick="dumpException1();">Exception 1</button>
<button onclick="dumpException2();">Exception 2</button>
<button onclick="dumpException3();">Exception 3</button>
<button onclick="dumpException4();">Exception 4</button>
<button onclick="dumpException5();">Exception 5</button>
<br/>
<button onclick="dumpStacktrace();">Process stack trace</button>
<button onclick="dumpStacktrace(true);">Guess anonymous functions</button>
</body>
</html>