Source code

Revision control

Copy as Markdown

Other Tools

const isSharedWorker =
"SharedWorkerGlobalScope" in self && self instanceof SharedWorkerGlobalScope;
function setMessageHandler(response) {
onmessage = e => {
e.ports[0].postMessage(response);
};
if (isSharedWorker) {
onconnect = e => {
e.ports[0].onmessage = onmessage;
};
}
}
setMessageHandler("handler-before-throw");
throw new Error("uncaught-exception");
// This should never be called because of the uncaught exception above.
setMessageHandler("handler-after-throw");