89 lines
2.2 KiB
JavaScript
89 lines
2.2 KiB
JavaScript
TestPage.needToSanitizeUncaughtExceptionURLs = true;
|
|
|
|
var arr = [ 1, 2, 3 ];
|
|
var mapData = [[ "a", arr ]];
|
|
|
|
function doThrow() {
|
|
console.log("throwing TestError");
|
|
throw "TestError";
|
|
}
|
|
|
|
function testCatch() {
|
|
console.log("testCatch");
|
|
try {
|
|
doThrow();
|
|
} catch (e) {
|
|
console.log("catch " + e);
|
|
}
|
|
console.log("DONE");
|
|
}
|
|
|
|
function testFinally() {
|
|
console.log("testFinally");
|
|
try {
|
|
doThrow();
|
|
} finally {
|
|
console.log("finally");
|
|
}
|
|
}
|
|
|
|
function testThrowingThruNativeCode() {
|
|
console.log("testThrowingThruNativeCode");
|
|
(new Map(mapData)).forEach(doThrow);
|
|
}
|
|
|
|
function testThrowingInPromise() {
|
|
console.log("testThrowingInPromise");
|
|
new Promise(function promise(resolve, reject) {
|
|
console.log("in promise");
|
|
doThrow();
|
|
});
|
|
}
|
|
|
|
function testThrowingInPromiseWithCatch() {
|
|
console.log("testThrowingInPromiseWithCatch");
|
|
new Promise(function promise(resolve, reject) {
|
|
console.log("in promise");
|
|
doThrow();
|
|
}).catch(function promiseCatch(e) {
|
|
console.log("in promise.catch");
|
|
console.log("DONE");
|
|
});
|
|
}
|
|
|
|
function testThrowingInPromiseThen() {
|
|
console.log("testThrowingInPromiseThen");
|
|
new Promise(function promise(resolve, reject) {
|
|
console.log("in promise");
|
|
resolve();
|
|
}).then(function promiseThen(x) {
|
|
console.log("in promise.then");
|
|
doThrow();
|
|
});
|
|
}
|
|
|
|
function testThrowingInPromiseThenWithCatch() {
|
|
console.log("testThrowingInPromiseThenWithCatch");
|
|
new Promise(function promise(resolve, reject) {
|
|
console.log("in promise");
|
|
resolve();
|
|
}).then(function promiseThen(x) {
|
|
console.log("in promise.then");
|
|
doThrow();
|
|
}).catch(function promiseCatch(e) {
|
|
console.log("in promise.catch");
|
|
console.log("DONE");
|
|
});
|
|
}
|
|
|
|
function testThrowingInPromiseWithRethrowInCatch() {
|
|
console.log("testThrowingInPromiseWithRethrowInCatch");
|
|
new Promise(function promise(resolve, reject) {
|
|
console.log("in promise");
|
|
doThrow();
|
|
}).catch(function promiseCatch(e) {
|
|
console.log("in promise.catch");
|
|
throw e;
|
|
});
|
|
}
|