74 lines
1.2 KiB
JavaScript
74 lines
1.2 KiB
JavaScript
function triggerUncaughtTypeException()
|
|
{
|
|
// Exception: TypeError: undefined is not an object (evaluating '[].x.x')
|
|
[].x.x;
|
|
}
|
|
|
|
function triggerUncaughtReferenceException()
|
|
{
|
|
// Exception: ReferenceError: Can't find variable: variableThatDoesNotExist
|
|
variableThatDoesNotExist += 1;
|
|
}
|
|
|
|
function triggerUncaughtSyntaxException()
|
|
{
|
|
// Exception: SyntaxError: Unexpected token ')'
|
|
eval("if()");
|
|
}
|
|
|
|
function triggerUncaughtDOMException()
|
|
{
|
|
// IndexSizeError (DOM Exception 1): The index is not in the allowed range.
|
|
document.createTextNode("").splitText(100);
|
|
}
|
|
|
|
function throwString()
|
|
{
|
|
throw "thrown string";
|
|
}
|
|
|
|
function throwNumber()
|
|
{
|
|
throw 123.456;
|
|
}
|
|
|
|
function throwNull()
|
|
{
|
|
throw null;
|
|
}
|
|
|
|
function throwObject()
|
|
{
|
|
throw {x:1,y:2};
|
|
}
|
|
|
|
function throwNode()
|
|
{
|
|
throw document.body;
|
|
}
|
|
|
|
function catcher(func)
|
|
{
|
|
try {
|
|
func();
|
|
} catch (e) {
|
|
console.log("CATCHER: " + e);
|
|
}
|
|
}
|
|
|
|
function nestedCatchBlocks()
|
|
{
|
|
try {
|
|
throw "outer exception";
|
|
} catch (e1) {
|
|
try {
|
|
throw "inner exception";
|
|
} catch (e2) {
|
|
console.log(e2);
|
|
}
|
|
console.log(e1);
|
|
}
|
|
|
|
TestPage.dispatchEventToFrontend("AfterTestFunction");
|
|
}
|