Source code

Revision control

Copy as Markdown

Other Tools

function uncaughtException() {
throw "unreachable"
}
function caughtException() {
try {
throw "reachable";
} catch (e) {
debugger;
}
}
function deepError() {
function a() { b(); }
function b() { c(); }
function c() { throw new Error(); }
try {
a();
} catch (e) {}
debugger;
}
function deepErrorFinally() {
function a() { b(); }
function b() {
try {
c();
} finally {
debugger;
}
}
function c() { throw new Error(); }
try {
a();
} catch (e) {}
debugger;
}
function deepErrorCatch() {
function a() { b(); }
function b() {
try {
c();
} catch (e) {
debugger;
throw e;
}
}
function c() { throw new Error(); }
try {
a();
} catch (e) {}
debugger;
}
function deepErrorThrowDifferent() {
function a() { b(); }
function b() {
try {
c();
} catch (e) {
throw new Error();
}
}
function c() { throw new Error(); }
try {
a();
} catch (e) {}
debugger;
}
function throwInNewFunctionArgument() {
new Function("f=doesntExists()", "return 42;")();
}
function inlineExc() {
'abc'.push(1);
}
inlineExc();