mirror of
https://github.com/espruino/Espruino.git
synced 2025-12-08 19:06:15 +00:00
63 lines
1.1 KiB
JavaScript
63 lines
1.1 KiB
JavaScript
// https://github.com/espruino/Espruino/issues/2338#issuecomment-1453477606
|
|
|
|
var success = [];
|
|
|
|
// Not reaching finally block
|
|
(() => {
|
|
try {
|
|
console.log("testing return...");
|
|
return;
|
|
} finally {
|
|
console.log("return success");
|
|
success.push("return");
|
|
}
|
|
})();
|
|
|
|
(() => {
|
|
do {
|
|
try {
|
|
console.log("testing break...");
|
|
break;
|
|
} finally {
|
|
console.log("break success");
|
|
success.push("break");
|
|
}
|
|
} while (false);
|
|
})();
|
|
|
|
(() => {
|
|
do {
|
|
try {
|
|
console.log("testing continue...");
|
|
continue;
|
|
} finally {
|
|
console.log("continue success");
|
|
success.push("continue");
|
|
}
|
|
} while (false);
|
|
})();
|
|
|
|
// we shouldn't execute finally in these cases!
|
|
(() => {
|
|
return;
|
|
try {
|
|
print("uh-oh!");
|
|
} finally {
|
|
console.log("return fail");
|
|
success.push("return-FAIL");
|
|
}
|
|
})();
|
|
try {
|
|
(() => {
|
|
throw new Error("Boom!");
|
|
try {
|
|
print("uh-oh!");
|
|
} finally {
|
|
console.log("return fail");
|
|
success.push("return-FAIL");
|
|
}
|
|
})();
|
|
} catch (e) {}
|
|
|
|
result = success=="return,break,continue";
|