| 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"); |